Purpose

The purpose of this analysis is to assess significant differences in GSVA scores for each hallmark pathways. Using ANOVA and subsequent Tukey tests, we ask:

  • For each pathway, are GSVA scores significantly different across tumor_descriptor? If so, which timepoints are significantly different?

We perform this using both GSVA scores calculated from RNA-seq libraries. Code is also flexible enough to test a different variable besides tumor_descriptor, etc.

Plots are inspired from here: https://yulab-smu.top/biomedical-knowledge-mining-book/enrichplot.html

Usage

To run this from the command line, use:

Rscript -e "rmarkdown::render('01-model-gsea-transcriptomic-pairs.Rmd', clean = TRUE)" 

This assumes you are in the top directory of the repository.

Setup

Load libraries and define certain constants:

suppressPackageStartupMessages({
  library(tidyverse)
  library(broom)
  library(ggpubr)
  library(ggrepel)
})

Directories and File Inputs/Outputs

# Detect the ".git" folder. This will be in the project root directory.
# Use this as the root directory to ensure proper sourcing of functions
# no matter where this is called from.
root_dir <- rprojroot::find_root(rprojroot::has_dir(".git"))
analysis_dir <- file.path(root_dir, "analyses", "gene-set-enrichment-analysis") 
input_dir <- file.path(analysis_dir, "input")
files_dir <- file.path(root_dir, "analyses", "sample-distribution-analysis", "results")

# Input files
## Metadata file (histologies/clinical data)
metadata_file <- file.path(files_dir, "pbta.tsv") # file from add-sample-distribution module
matched_transcriptomic_file <- file.path(files_dir, "transcriptomic_assays_matched_time_points.tsv") # file from add-sample-distribution module

## GSEA scores
scores_file <- file.path(input_dir, "gsva_scores.tsv")

# File path to plots directory
plots_dir <-
  file.path(analysis_dir, "plots", "paired-transcriptomic")
if (!dir.exists(plots_dir)) {
  dir.create(plots_dir)
}

barplots_dir <-
  file.path(plots_dir, "barplots")
if (!dir.exists(barplots_dir)) {
  dir.create(barplots_dir)
}

dotplots_dir <-
  file.path(plots_dir, "dotplots")
if (!dir.exists(dotplots_dir)) {
  dir.create(dotplots_dir)
}

diverging_barplots_dir <-
  file.path(plots_dir, "diverging_barplots")
if (!dir.exists(diverging_barplots_dir)) {
  dir.create(diverging_barplots_dir)
}


# File path to results directory
results_dir <-
  file.path(analysis_dir, "results", "paired-transcriptomic")
if (!dir.exists(results_dir)) {
  dir.create(results_dir)
}


# Significance testing universal threshold
SIGNIFICANCE_THRESHOLD <- 0.01

# This script contains functions used to modeling GSVA scores
source(paste0(analysis_dir, "/util/hallmark_models.R"))
source(paste0(analysis_dir, "/util/function-create-plots.R"))
source(paste0(root_dir, "/figures/scripts/theme.R"))

Read in data and process

######## Load input files
pbta <- readr::read_tsv(metadata_file, guess_max = 100000) %>% 
  filter(experimental_strategy == "RNA-Seq") %>% 
  filter(!is.na(RNA_library))
Rows: 4542 Columns: 62── Column specification ──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
Delimiter: "\t"
chr (38): Kids_First_Participant_ID, cg_multiple, cg_id, Kids_First_Biospecimen_ID, sample_id, aliquot_id, experimental_strategy, sample_type, composition, tumor_...
dbl (10): age_at_diagnosis_days, OS_days, EFS_days, age_last_update_days, normal_fraction, tumor_fraction, tumor_ploidy, age_at_event_days, age_at_chemo_start, ag...
lgl (14): gtex_group, gtex_subgroup, cell_line_composition, cell_line_passage, tumor_fraction_RFpurify_ABSOLUTE, tumor_fraction_RFpurify_ESTIMATE, tumor_fraction_...
ℹ Use `spec()` to retrieve the full column specification for this data.
ℹ Specify the column types or set `show_col_types = FALSE` to quiet this message.
# Read in matched_transcriptomic_file and get the list of patients 
# with matched time points for the transcriptomic assays
patient_list <- readr::read_tsv(matched_transcriptomic_file, guess_max = 100000, show_col_types = FALSE) %>%
  subset(select = c("Kids_First_Participant_ID", "descriptors"))

#patient_list <- readr::read_tsv(matched_transcriptomic_file, guess_max = 100000, show_col_types = FALSE) %>%
#  subset(select = c("Kids_First_Participant_ID", "descriptors"))

# How many patients with paired assays?
print(length(unique(patient_list$Kids_First_Participant_ID)))
[1] 122
# Add metadata from pbta to patient list
metadata <- patient_list %>% 
  left_join(pbta, by = "Kids_First_Participant_ID")
Warning: Detected an unexpected many-to-many relationship between `x` and `y`.
print(table(metadata$RNA_library))

  exome_capture          poly-A poly-A stranded        stranded 
              2              11             166             219 
# Read scores file
scores_file <- readr::read_tsv(scores_file) 
Rows: 193700 Columns: 4── Column specification ──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
Delimiter: "\t"
chr (3): Kids_First_Biospecimen_ID, hallmark_name, data_type
dbl (1): gsea_score
ℹ Use `spec()` to retrieve the full column specification for this data.
ℹ Specify the column types or set `show_col_types = FALSE` to quiet this message.
# Vector to order timepoints
timepoints <- c("Diagnosis", "Progressive", "Recurrence", "Deceased", "Second Malignancy", "Unavailable")

### Merge histology metadata with each set of gsea scores
metadata_with_gsva <- metadata %>%
  inner_join(scores_file, by = "Kids_First_Biospecimen_ID") %>% 
  mutate(data_type = case_when(grepl("exome_capture|poly-A|poly-A stranded", RNA_library) ~ "polya_stranded", #merged_RNA_library
                                     TRUE ~ RNA_library),
        # bs_rna_library_id = paste(Kids_First_Biospecimen_ID, RNA_library_sum, sep = "_"),
         tumor_descriptor = factor(tumor_descriptor),
         tumor_descriptor = fct_relevel(tumor_descriptor, timepoints)) %>% 
  filter(!RNA_library == "exome_capture",
         !cgGFAC == "Other") %>% 
  arrange(tumor_descriptor)
Warning: Detected an unexpected many-to-many relationship between `x` and `y`.
      
# How many patients with paired assays?
print(length(unique(metadata_with_gsva$Kids_First_Participant_ID)))
[1] 55
# How many biospecimens per `RNA_library`?
bs_unique <- metadata_with_gsva %>%
  group_by(Kids_First_Biospecimen_ID, data_type) %>%
  select(Kids_First_Biospecimen_ID, data_type) %>% 
  distinct(Kids_First_Biospecimen_ID, .keep_all = TRUE)

print(table(bs_unique$data_type))

polya_stranded       stranded 
            52             75 
print(table(metadata_with_gsva$data_type))

polya_stranded       stranded 
          3200           4500 

ANOVA and Tukey analysis of GSVA scores

Here we perform a series of ANOVAs, for polyA and stranded libraries separately, to determine whether mean GSVA scores for a given grouping are significantly different across hallmarks (pathways). The given groupings examined here are cancer_group and tumor_descriptor. In other words, we perform an ANOVA (and associated posthoc Tukey test) for each hallmark as, hallmark ~ grouping. Users can specify the grouping variable.

cgGFAC_list <- metadata_with_gsva %>% pull(cgGFAC) %>% unique()
cgGFAC_list <- sort(cgGFAC_list, decreasing = FALSE)
print(cgGFAC_list)
  
for(x in 1:length(cgGFAC_list)){
  print(x)
  
  data_df <- metadata_with_gsva %>%
    dplyr::filter(cgGFAC == cgGFAC_list[x])
  
  ######## Find out unique RNA library types
  rna_library_list <- data_df %>% pull(data_type) %>% unique()
  rna_library_list <- sort(rna_library_list, decreasing = FALSE)
  print(rna_library_list)

for(i in 1:length(rna_library_list)){
  print(i)
  
  rna_library = rna_library_list[i]
  print(rna_library)
  
  # find out the number of `tumor_descriptor` with this RNA library
  tumor_descriptor_n <- data_df %>%
    dplyr::filter(data_type == rna_library) %>%
    dplyr::pull(tumor_descriptor) %>% 
    unique() %>% length()
  
    
  # anova can only be run on factors with >=2 levels, so to avoid error, we give a if statement
  if(tumor_descriptor_n>=2){
    
    tumor_descriptor_model_results <- gsva_anova_tukey(data_df, tumor_descriptor, rna_library, SIGNIFICANCE_THRESHOLD) 
  
    ###########################################################################################
    # print results for viewing
    print(rna_library)
    print(head(tumor_descriptor_model_results))
    
    
    anova_fname <- paste0(results_dir, "/", "gsva_anova_", rna_library_list[i], "_", cgGFAC_list[x], "_tumor_descriptor.tsv")
    readr::write_tsv(tumor_descriptor_model_results[["anova"]], file = anova_fname)
     
    tukey_fname <- paste0(results_dir, "/", "gsva_tukey_", rna_library_list[i], "_", cgGFAC_list[x], "_tumor_descriptor.tsv")
    readr::write_tsv(tumor_descriptor_model_results[["tukey"]], file = tukey_fname)

    ################ plot results ########################################################
    ###### tukey ######################################################################
   
    td_models <- unique(as.character(tumor_descriptor_model_results[["tukey"]]$comparison))
    td_models <- sort(td_models, decreasing = FALSE)
    print(td_models)
  
    for(t in seq_along(td_models)){
      print(t)
      
      #Set seed
      set.seed(2023)
    
      # Re-order bars
      df <- tumor_descriptor_model_results[["tukey"]] %>%
        filter(comparison == td_models[t]) #%>% 
        #mutate(hallmark_name_id = paste0(hallmark_name, 1:49))

      # The significantly differentially pathways are the ones found in the upper-left and upper-right corners.
      # Add a column to the data frame to specify if they are UP- or DOWN- regulated (pathway_score_difference respectively positive or negative
      df$path_diff <- "Not significant"
      p_value <- df$tukey_p_value
      signif_p_value <- 0.05
      # if pathway_score_difference > 0  
      df$path_diff[df$pathway_score_difference > 0 & p_value < signif_p_value] <- "Up"
      df$path_diff[df$pathway_score_difference > 0 & p_value > signif_p_value] <- "Not significant"

      # if pathway_score_difference < 0 
      df$path_diff[df$pathway_score_difference < 0 & p_value < signif_p_value] <- "Down"
      df$path_diff[df$pathway_score_difference < 0 & p_value > signif_p_value] <- "Not significant"
      # Create labels
      # df$labels <- with(df, ifelse(p_value < 0.05, hallmark_name_id, ""))
      
      df$hallmark_name <- factor(df$hallmark_name,
                                 levels = rev(unique(df$hallmark_name[order(df$tukey_p_value, decreasing = TRUE)]))) # Factor levels in increasing order
      
      
      ###### diverging barplots ###########
      name <- paste0(diverging_barplots_dir, "/", "gsva_tukey_", rna_library_list[i], "-", cgGFAC_list[x], "-", td_models[t], "-tumor_descriptor_diverging_barplot.pdf")
      print(name)
      p <- create_diverging_barplot(df = df,
                                    y_value = df$pathway_score_difference,
                                    rna_library = rna_library_list[i],
                                    td_model_id = td_models[t],
                                    cgGFAC = cgGFAC_list[x])
      pdf(file = name, width = 12, height = 10)
      print(p)
      dev.off()
    
    
    ###### anova ######################################################################
    ###### barplots ###########    
    name <- paste0(barplots_dir, "/", "gsva_anova_", rna_library_list[i], "-", cgGFAC_list[x], "-", "tumor_descriptor_barplot.pdf")
    print(name)
  
    # Re-order bars
    df <- tumor_descriptor_model_results[["anova"]]
    df$hallmark_name <- factor(df$hallmark_name,
                               levels = rev(unique(df$hallmark_name[order(df$anova_p_value, decreasing = TRUE)]))) # Factor levels in increasing order
    p <- create_barplot(df = df,
                        y_value = df$anova_p_value,
                        title_value = "anova_p_value", 
                        rna_library = rna_library_list[i],
                        td_model_id = NULL,
                        cgGFAC = cgGFAC_list[x])
    pdf(file = name, width = 12, height = 10)
    print(p)
    dev.off()
      
    ###### dot plots ###########
    dotplot_name <- paste0(dotplots_dir, "/", "gsva_anova_", rna_library_list[i], "-", cgGFAC_list[x], "-", "tumor_descriptor_dotplot.pdf")
    print(dotplot_name)
    p <- create_dotplot(df = tumor_descriptor_model_results[["anova"]],
                        x_value = tumor_descriptor_model_results[["anova"]]$hallmark_name,
                        y_value = tumor_descriptor_model_results[["anova"]]$anova_p_value,
                        title_value = "anova_p_value",
                        rna_library = rna_library_list[i],
                        td_model_id = NULL,
                        cgGFAC = cgGFAC_list[x])
    pdf(file = dotplot_name, width = 12, height = 10)
    print(p)
    dev.off()
  }
  }
}
}
cgGFAC_list <- metadata_with_gsva %>% pull(cgGFAC) %>% unique()
cgGFAC_list <- sort(cgGFAC_list, decreasing = FALSE)
print(cgGFAC_list)
[1] "ATRT" "DMG"  "HGG"  "LGG" 
  
for(x in 1:length(cgGFAC_list)){
  print(x)
  
  data_df <- metadata_with_gsva %>%
    dplyr::filter(cgGFAC == cgGFAC_list[x])
  
  ######## Find out unique RNA library types
  rna_library_list <- data_df %>% pull(data_type) %>% unique()
  rna_library_list <- sort(rna_library_list, decreasing = FALSE)
  print(rna_library_list)

for(i in 1:length(rna_library_list)){
  print(i)
  
  rna_library = rna_library_list[i]
  print(rna_library)
  
  # find out the number of `tumor_descriptor` with this RNA library
  tumor_descriptor_n <- data_df %>%
    dplyr::filter(data_type == rna_library) %>%
    dplyr::pull(tumor_descriptor) %>% 
    unique() %>% length()
  
    
  # anova can only be run on factors with >=2 levels, so to avoid error, we give a if statement
  if(tumor_descriptor_n>=2){
    
    tumor_descriptor_model_results <- gsva_anova_tukey(data_df, tumor_descriptor, rna_library, SIGNIFICANCE_THRESHOLD) 
  
    ###########################################################################################
    # print results for viewing
    print(rna_library)
    print(head(tumor_descriptor_model_results))
    
    
    anova_fname <- paste0(results_dir, "/", "gsva_anova_", rna_library_list[i], "_", cgGFAC_list[x], "_tumor_descriptor.tsv")
    readr::write_tsv(tumor_descriptor_model_results[["anova"]], file = anova_fname)
     
    tukey_fname <- paste0(results_dir, "/", "gsva_tukey_", rna_library_list[i], "_", cgGFAC_list[x], "_tumor_descriptor.tsv")
    readr::write_tsv(tumor_descriptor_model_results[["tukey"]], file = tukey_fname)

    ################ plot results ########################################################
    ###### tukey ######################################################################
   
    td_models <- unique(as.character(tumor_descriptor_model_results[["tukey"]]$comparison))
    td_models <- sort(td_models, decreasing = FALSE)
    print(td_models)
  
    for(t in seq_along(td_models)){
      print(t)
      
      #Set seed
      set.seed(2023)
    
      # Re-order bars
      df <- tumor_descriptor_model_results[["tukey"]] %>%
        filter(comparison == td_models[t]) #%>% 
        #mutate(hallmark_name_id = paste0(hallmark_name, 1:49))

      # The significantly differentially pathways are the ones found in the upper-left and upper-right corners.
      # Add a column to the data frame to specify if they are UP- or DOWN- regulated (pathway_score_difference respectively positive or negative
      df$path_diff <- "Not significant"
      p_value <- df$tukey_p_value
      signif_p_value <- 0.05
      # if pathway_score_difference > 0  
      df$path_diff[df$pathway_score_difference > 0 & p_value < signif_p_value] <- "Up"
      df$path_diff[df$pathway_score_difference > 0 & p_value > signif_p_value] <- "Not significant"

      # if pathway_score_difference < 0 
      df$path_diff[df$pathway_score_difference < 0 & p_value < signif_p_value] <- "Down"
      df$path_diff[df$pathway_score_difference < 0 & p_value > signif_p_value] <- "Not significant"
      # Create labels
      # df$labels <- with(df, ifelse(p_value < 0.05, hallmark_name_id, ""))
      
      df$hallmark_name <- factor(df$hallmark_name,
                                 levels = rev(unique(df$hallmark_name[order(df$tukey_p_value, decreasing = TRUE)]))) # Factor levels in increasing order
      
      
      ###### diverging barplots ###########
      name <- paste0(diverging_barplots_dir, "/", "gsva_tukey_", rna_library_list[i], "-", cgGFAC_list[x], "-", td_models[t], "-tumor_descriptor_diverging_barplot.pdf")
      print(name)
      p <- create_diverging_barplot(df = df,
                                    y_value = df$pathway_score_difference,
                                    rna_library = rna_library_list[i],
                                    td_model_id = td_models[t],
                                    cgGFAC = cgGFAC_list[x])
      pdf(file = name, width = 12, height = 10)
      print(p)
      dev.off()
    
    
    ###### anova ######################################################################
    ###### barplots ###########    
    name <- paste0(barplots_dir, "/", "gsva_anova_", rna_library_list[i], "-", cgGFAC_list[x], "-", "tumor_descriptor_barplot.pdf")
    print(name)
  
    # Re-order bars
    df <- tumor_descriptor_model_results[["anova"]]
    df$hallmark_name <- factor(df$hallmark_name,
                               levels = rev(unique(df$hallmark_name[order(df$anova_p_value, decreasing = TRUE)]))) # Factor levels in increasing order
    p <- create_barplot(df = df,
                        y_value = df$anova_p_value,
                        title_value = "anova_p_value", 
                        rna_library = rna_library_list[i],
                        td_model_id = NULL,
                        cgGFAC = cgGFAC_list[x])
    pdf(file = name, width = 12, height = 10)
    print(p)
    dev.off()
      
    ###### dot plots ###########
    dotplot_name <- paste0(dotplots_dir, "/", "gsva_anova_", rna_library_list[i], "-", cgGFAC_list[x], "-", "tumor_descriptor_dotplot.pdf")
    print(dotplot_name)
    p <- create_dotplot(df = tumor_descriptor_model_results[["anova"]],
                        x_value = tumor_descriptor_model_results[["anova"]]$hallmark_name,
                        y_value = tumor_descriptor_model_results[["anova"]]$anova_p_value,
                        title_value = "anova_p_value",
                        rna_library = rna_library_list[i],
                        td_model_id = NULL,
                        cgGFAC = cgGFAC_list[x])
    pdf(file = dotplot_name, width = 12, height = 10)
    print(p)
    dev.off()
  }
  }
}
}
[1] 1
[1] "polya_stranded" "stranded"      
[1] 1
[1] "polya_stranded"
[1] 50
[1] "polya_stranded"
$anova

$tukey

 [1] "Deceased-Diagnosis"     "Deceased-Progressive"   "Deceased-Recurrence"    "Diagnosis-Deceased"     "Diagnosis-Progressive"  "Diagnosis-Recurrence"  
 [7] "Progressive-Deceased"   "Progressive-Diagnosis"  "Progressive-Recurrence" "Recurrence-Deceased"    "Recurrence-Diagnosis"   "Recurrence-Progressive"
[1] 1
[1] "/Users/chronia/CHOP/GitHub/pbta-tumor-evolution/analyses/gene-set-enrichment-analysis/plots/paired-transcriptomic/diverging_barplots/gsva_tukey_polya_stranded-ATRT-Deceased-Diagnosis-tumor_descriptor_diverging_barplot.pdf"
[1] "/Users/chronia/CHOP/GitHub/pbta-tumor-evolution/analyses/gene-set-enrichment-analysis/plots/paired-transcriptomic/barplots/gsva_anova_polya_stranded-ATRT-tumor_descriptor_barplot.pdf"
[1] "/Users/chronia/CHOP/GitHub/pbta-tumor-evolution/analyses/gene-set-enrichment-analysis/plots/paired-transcriptomic/dotplots/gsva_anova_polya_stranded-ATRT-tumor_descriptor_dotplot.pdf"
[1] 2
[1] "/Users/chronia/CHOP/GitHub/pbta-tumor-evolution/analyses/gene-set-enrichment-analysis/plots/paired-transcriptomic/diverging_barplots/gsva_tukey_polya_stranded-ATRT-Deceased-Progressive-tumor_descriptor_diverging_barplot.pdf"
[1] "/Users/chronia/CHOP/GitHub/pbta-tumor-evolution/analyses/gene-set-enrichment-analysis/plots/paired-transcriptomic/barplots/gsva_anova_polya_stranded-ATRT-tumor_descriptor_barplot.pdf"
[1] "/Users/chronia/CHOP/GitHub/pbta-tumor-evolution/analyses/gene-set-enrichment-analysis/plots/paired-transcriptomic/dotplots/gsva_anova_polya_stranded-ATRT-tumor_descriptor_dotplot.pdf"
[1] 3
[1] "/Users/chronia/CHOP/GitHub/pbta-tumor-evolution/analyses/gene-set-enrichment-analysis/plots/paired-transcriptomic/diverging_barplots/gsva_tukey_polya_stranded-ATRT-Deceased-Recurrence-tumor_descriptor_diverging_barplot.pdf"
[1] "/Users/chronia/CHOP/GitHub/pbta-tumor-evolution/analyses/gene-set-enrichment-analysis/plots/paired-transcriptomic/barplots/gsva_anova_polya_stranded-ATRT-tumor_descriptor_barplot.pdf"
[1] "/Users/chronia/CHOP/GitHub/pbta-tumor-evolution/analyses/gene-set-enrichment-analysis/plots/paired-transcriptomic/dotplots/gsva_anova_polya_stranded-ATRT-tumor_descriptor_dotplot.pdf"
[1] 4
[1] "/Users/chronia/CHOP/GitHub/pbta-tumor-evolution/analyses/gene-set-enrichment-analysis/plots/paired-transcriptomic/diverging_barplots/gsva_tukey_polya_stranded-ATRT-Diagnosis-Deceased-tumor_descriptor_diverging_barplot.pdf"
[1] "/Users/chronia/CHOP/GitHub/pbta-tumor-evolution/analyses/gene-set-enrichment-analysis/plots/paired-transcriptomic/barplots/gsva_anova_polya_stranded-ATRT-tumor_descriptor_barplot.pdf"
[1] "/Users/chronia/CHOP/GitHub/pbta-tumor-evolution/analyses/gene-set-enrichment-analysis/plots/paired-transcriptomic/dotplots/gsva_anova_polya_stranded-ATRT-tumor_descriptor_dotplot.pdf"
[1] 5
[1] "/Users/chronia/CHOP/GitHub/pbta-tumor-evolution/analyses/gene-set-enrichment-analysis/plots/paired-transcriptomic/diverging_barplots/gsva_tukey_polya_stranded-ATRT-Diagnosis-Progressive-tumor_descriptor_diverging_barplot.pdf"
[1] "/Users/chronia/CHOP/GitHub/pbta-tumor-evolution/analyses/gene-set-enrichment-analysis/plots/paired-transcriptomic/barplots/gsva_anova_polya_stranded-ATRT-tumor_descriptor_barplot.pdf"
[1] "/Users/chronia/CHOP/GitHub/pbta-tumor-evolution/analyses/gene-set-enrichment-analysis/plots/paired-transcriptomic/dotplots/gsva_anova_polya_stranded-ATRT-tumor_descriptor_dotplot.pdf"
[1] 6
[1] "/Users/chronia/CHOP/GitHub/pbta-tumor-evolution/analyses/gene-set-enrichment-analysis/plots/paired-transcriptomic/diverging_barplots/gsva_tukey_polya_stranded-ATRT-Diagnosis-Recurrence-tumor_descriptor_diverging_barplot.pdf"
[1] "/Users/chronia/CHOP/GitHub/pbta-tumor-evolution/analyses/gene-set-enrichment-analysis/plots/paired-transcriptomic/barplots/gsva_anova_polya_stranded-ATRT-tumor_descriptor_barplot.pdf"
[1] "/Users/chronia/CHOP/GitHub/pbta-tumor-evolution/analyses/gene-set-enrichment-analysis/plots/paired-transcriptomic/dotplots/gsva_anova_polya_stranded-ATRT-tumor_descriptor_dotplot.pdf"
[1] 7
[1] "/Users/chronia/CHOP/GitHub/pbta-tumor-evolution/analyses/gene-set-enrichment-analysis/plots/paired-transcriptomic/diverging_barplots/gsva_tukey_polya_stranded-ATRT-Progressive-Deceased-tumor_descriptor_diverging_barplot.pdf"
[1] "/Users/chronia/CHOP/GitHub/pbta-tumor-evolution/analyses/gene-set-enrichment-analysis/plots/paired-transcriptomic/barplots/gsva_anova_polya_stranded-ATRT-tumor_descriptor_barplot.pdf"
[1] "/Users/chronia/CHOP/GitHub/pbta-tumor-evolution/analyses/gene-set-enrichment-analysis/plots/paired-transcriptomic/dotplots/gsva_anova_polya_stranded-ATRT-tumor_descriptor_dotplot.pdf"
[1] 8
[1] "/Users/chronia/CHOP/GitHub/pbta-tumor-evolution/analyses/gene-set-enrichment-analysis/plots/paired-transcriptomic/diverging_barplots/gsva_tukey_polya_stranded-ATRT-Progressive-Diagnosis-tumor_descriptor_diverging_barplot.pdf"
[1] "/Users/chronia/CHOP/GitHub/pbta-tumor-evolution/analyses/gene-set-enrichment-analysis/plots/paired-transcriptomic/barplots/gsva_anova_polya_stranded-ATRT-tumor_descriptor_barplot.pdf"
[1] "/Users/chronia/CHOP/GitHub/pbta-tumor-evolution/analyses/gene-set-enrichment-analysis/plots/paired-transcriptomic/dotplots/gsva_anova_polya_stranded-ATRT-tumor_descriptor_dotplot.pdf"
[1] 9
[1] "/Users/chronia/CHOP/GitHub/pbta-tumor-evolution/analyses/gene-set-enrichment-analysis/plots/paired-transcriptomic/diverging_barplots/gsva_tukey_polya_stranded-ATRT-Progressive-Recurrence-tumor_descriptor_diverging_barplot.pdf"
[1] "/Users/chronia/CHOP/GitHub/pbta-tumor-evolution/analyses/gene-set-enrichment-analysis/plots/paired-transcriptomic/barplots/gsva_anova_polya_stranded-ATRT-tumor_descriptor_barplot.pdf"
[1] "/Users/chronia/CHOP/GitHub/pbta-tumor-evolution/analyses/gene-set-enrichment-analysis/plots/paired-transcriptomic/dotplots/gsva_anova_polya_stranded-ATRT-tumor_descriptor_dotplot.pdf"
[1] 10
[1] "/Users/chronia/CHOP/GitHub/pbta-tumor-evolution/analyses/gene-set-enrichment-analysis/plots/paired-transcriptomic/diverging_barplots/gsva_tukey_polya_stranded-ATRT-Recurrence-Deceased-tumor_descriptor_diverging_barplot.pdf"
[1] "/Users/chronia/CHOP/GitHub/pbta-tumor-evolution/analyses/gene-set-enrichment-analysis/plots/paired-transcriptomic/barplots/gsva_anova_polya_stranded-ATRT-tumor_descriptor_barplot.pdf"
[1] "/Users/chronia/CHOP/GitHub/pbta-tumor-evolution/analyses/gene-set-enrichment-analysis/plots/paired-transcriptomic/dotplots/gsva_anova_polya_stranded-ATRT-tumor_descriptor_dotplot.pdf"
[1] 11
[1] "/Users/chronia/CHOP/GitHub/pbta-tumor-evolution/analyses/gene-set-enrichment-analysis/plots/paired-transcriptomic/diverging_barplots/gsva_tukey_polya_stranded-ATRT-Recurrence-Diagnosis-tumor_descriptor_diverging_barplot.pdf"
[1] "/Users/chronia/CHOP/GitHub/pbta-tumor-evolution/analyses/gene-set-enrichment-analysis/plots/paired-transcriptomic/barplots/gsva_anova_polya_stranded-ATRT-tumor_descriptor_barplot.pdf"
[1] "/Users/chronia/CHOP/GitHub/pbta-tumor-evolution/analyses/gene-set-enrichment-analysis/plots/paired-transcriptomic/dotplots/gsva_anova_polya_stranded-ATRT-tumor_descriptor_dotplot.pdf"
[1] 12
[1] "/Users/chronia/CHOP/GitHub/pbta-tumor-evolution/analyses/gene-set-enrichment-analysis/plots/paired-transcriptomic/diverging_barplots/gsva_tukey_polya_stranded-ATRT-Recurrence-Progressive-tumor_descriptor_diverging_barplot.pdf"
[1] "/Users/chronia/CHOP/GitHub/pbta-tumor-evolution/analyses/gene-set-enrichment-analysis/plots/paired-transcriptomic/barplots/gsva_anova_polya_stranded-ATRT-tumor_descriptor_barplot.pdf"
[1] "/Users/chronia/CHOP/GitHub/pbta-tumor-evolution/analyses/gene-set-enrichment-analysis/plots/paired-transcriptomic/dotplots/gsva_anova_polya_stranded-ATRT-tumor_descriptor_dotplot.pdf"
[1] 2
[1] "stranded"
[1] 50
[1] "stranded"
$anova

$tukey

[1] "Deceased-Diagnosis"    "Deceased-Progressive"  "Diagnosis-Deceased"    "Diagnosis-Progressive" "Progressive-Deceased"  "Progressive-Diagnosis"
[1] 1
[1] "/Users/chronia/CHOP/GitHub/pbta-tumor-evolution/analyses/gene-set-enrichment-analysis/plots/paired-transcriptomic/diverging_barplots/gsva_tukey_stranded-ATRT-Deceased-Diagnosis-tumor_descriptor_diverging_barplot.pdf"
[1] "/Users/chronia/CHOP/GitHub/pbta-tumor-evolution/analyses/gene-set-enrichment-analysis/plots/paired-transcriptomic/barplots/gsva_anova_stranded-ATRT-tumor_descriptor_barplot.pdf"
[1] "/Users/chronia/CHOP/GitHub/pbta-tumor-evolution/analyses/gene-set-enrichment-analysis/plots/paired-transcriptomic/dotplots/gsva_anova_stranded-ATRT-tumor_descriptor_dotplot.pdf"
[1] 2
[1] "/Users/chronia/CHOP/GitHub/pbta-tumor-evolution/analyses/gene-set-enrichment-analysis/plots/paired-transcriptomic/diverging_barplots/gsva_tukey_stranded-ATRT-Deceased-Progressive-tumor_descriptor_diverging_barplot.pdf"
[1] "/Users/chronia/CHOP/GitHub/pbta-tumor-evolution/analyses/gene-set-enrichment-analysis/plots/paired-transcriptomic/barplots/gsva_anova_stranded-ATRT-tumor_descriptor_barplot.pdf"
[1] "/Users/chronia/CHOP/GitHub/pbta-tumor-evolution/analyses/gene-set-enrichment-analysis/plots/paired-transcriptomic/dotplots/gsva_anova_stranded-ATRT-tumor_descriptor_dotplot.pdf"
[1] 3
[1] "/Users/chronia/CHOP/GitHub/pbta-tumor-evolution/analyses/gene-set-enrichment-analysis/plots/paired-transcriptomic/diverging_barplots/gsva_tukey_stranded-ATRT-Diagnosis-Deceased-tumor_descriptor_diverging_barplot.pdf"
[1] "/Users/chronia/CHOP/GitHub/pbta-tumor-evolution/analyses/gene-set-enrichment-analysis/plots/paired-transcriptomic/barplots/gsva_anova_stranded-ATRT-tumor_descriptor_barplot.pdf"
[1] "/Users/chronia/CHOP/GitHub/pbta-tumor-evolution/analyses/gene-set-enrichment-analysis/plots/paired-transcriptomic/dotplots/gsva_anova_stranded-ATRT-tumor_descriptor_dotplot.pdf"
[1] 4
[1] "/Users/chronia/CHOP/GitHub/pbta-tumor-evolution/analyses/gene-set-enrichment-analysis/plots/paired-transcriptomic/diverging_barplots/gsva_tukey_stranded-ATRT-Diagnosis-Progressive-tumor_descriptor_diverging_barplot.pdf"
[1] "/Users/chronia/CHOP/GitHub/pbta-tumor-evolution/analyses/gene-set-enrichment-analysis/plots/paired-transcriptomic/barplots/gsva_anova_stranded-ATRT-tumor_descriptor_barplot.pdf"
[1] "/Users/chronia/CHOP/GitHub/pbta-tumor-evolution/analyses/gene-set-enrichment-analysis/plots/paired-transcriptomic/dotplots/gsva_anova_stranded-ATRT-tumor_descriptor_dotplot.pdf"
[1] 5
[1] "/Users/chronia/CHOP/GitHub/pbta-tumor-evolution/analyses/gene-set-enrichment-analysis/plots/paired-transcriptomic/diverging_barplots/gsva_tukey_stranded-ATRT-Progressive-Deceased-tumor_descriptor_diverging_barplot.pdf"
[1] "/Users/chronia/CHOP/GitHub/pbta-tumor-evolution/analyses/gene-set-enrichment-analysis/plots/paired-transcriptomic/barplots/gsva_anova_stranded-ATRT-tumor_descriptor_barplot.pdf"
[1] "/Users/chronia/CHOP/GitHub/pbta-tumor-evolution/analyses/gene-set-enrichment-analysis/plots/paired-transcriptomic/dotplots/gsva_anova_stranded-ATRT-tumor_descriptor_dotplot.pdf"
[1] 6
[1] "/Users/chronia/CHOP/GitHub/pbta-tumor-evolution/analyses/gene-set-enrichment-analysis/plots/paired-transcriptomic/diverging_barplots/gsva_tukey_stranded-ATRT-Progressive-Diagnosis-tumor_descriptor_diverging_barplot.pdf"
[1] "/Users/chronia/CHOP/GitHub/pbta-tumor-evolution/analyses/gene-set-enrichment-analysis/plots/paired-transcriptomic/barplots/gsva_anova_stranded-ATRT-tumor_descriptor_barplot.pdf"
[1] "/Users/chronia/CHOP/GitHub/pbta-tumor-evolution/analyses/gene-set-enrichment-analysis/plots/paired-transcriptomic/dotplots/gsva_anova_stranded-ATRT-tumor_descriptor_dotplot.pdf"
[1] 2
[1] "polya_stranded" "stranded"      
[1] 1
[1] "polya_stranded"
[1] 50
[1] "polya_stranded"
$anova

$tukey

[1] "Deceased-Diagnosis"    "Deceased-Progressive"  "Diagnosis-Deceased"    "Diagnosis-Progressive" "Progressive-Deceased"  "Progressive-Diagnosis"
[1] 1
[1] "/Users/chronia/CHOP/GitHub/pbta-tumor-evolution/analyses/gene-set-enrichment-analysis/plots/paired-transcriptomic/diverging_barplots/gsva_tukey_polya_stranded-DMG-Deceased-Diagnosis-tumor_descriptor_diverging_barplot.pdf"
[1] "/Users/chronia/CHOP/GitHub/pbta-tumor-evolution/analyses/gene-set-enrichment-analysis/plots/paired-transcriptomic/barplots/gsva_anova_polya_stranded-DMG-tumor_descriptor_barplot.pdf"
[1] "/Users/chronia/CHOP/GitHub/pbta-tumor-evolution/analyses/gene-set-enrichment-analysis/plots/paired-transcriptomic/dotplots/gsva_anova_polya_stranded-DMG-tumor_descriptor_dotplot.pdf"
[1] 2
[1] "/Users/chronia/CHOP/GitHub/pbta-tumor-evolution/analyses/gene-set-enrichment-analysis/plots/paired-transcriptomic/diverging_barplots/gsva_tukey_polya_stranded-DMG-Deceased-Progressive-tumor_descriptor_diverging_barplot.pdf"
[1] "/Users/chronia/CHOP/GitHub/pbta-tumor-evolution/analyses/gene-set-enrichment-analysis/plots/paired-transcriptomic/barplots/gsva_anova_polya_stranded-DMG-tumor_descriptor_barplot.pdf"
[1] "/Users/chronia/CHOP/GitHub/pbta-tumor-evolution/analyses/gene-set-enrichment-analysis/plots/paired-transcriptomic/dotplots/gsva_anova_polya_stranded-DMG-tumor_descriptor_dotplot.pdf"
[1] 3
[1] "/Users/chronia/CHOP/GitHub/pbta-tumor-evolution/analyses/gene-set-enrichment-analysis/plots/paired-transcriptomic/diverging_barplots/gsva_tukey_polya_stranded-DMG-Diagnosis-Deceased-tumor_descriptor_diverging_barplot.pdf"
[1] "/Users/chronia/CHOP/GitHub/pbta-tumor-evolution/analyses/gene-set-enrichment-analysis/plots/paired-transcriptomic/barplots/gsva_anova_polya_stranded-DMG-tumor_descriptor_barplot.pdf"
[1] "/Users/chronia/CHOP/GitHub/pbta-tumor-evolution/analyses/gene-set-enrichment-analysis/plots/paired-transcriptomic/dotplots/gsva_anova_polya_stranded-DMG-tumor_descriptor_dotplot.pdf"
[1] 4
[1] "/Users/chronia/CHOP/GitHub/pbta-tumor-evolution/analyses/gene-set-enrichment-analysis/plots/paired-transcriptomic/diverging_barplots/gsva_tukey_polya_stranded-DMG-Diagnosis-Progressive-tumor_descriptor_diverging_barplot.pdf"
[1] "/Users/chronia/CHOP/GitHub/pbta-tumor-evolution/analyses/gene-set-enrichment-analysis/plots/paired-transcriptomic/barplots/gsva_anova_polya_stranded-DMG-tumor_descriptor_barplot.pdf"
[1] "/Users/chronia/CHOP/GitHub/pbta-tumor-evolution/analyses/gene-set-enrichment-analysis/plots/paired-transcriptomic/dotplots/gsva_anova_polya_stranded-DMG-tumor_descriptor_dotplot.pdf"
[1] 5
[1] "/Users/chronia/CHOP/GitHub/pbta-tumor-evolution/analyses/gene-set-enrichment-analysis/plots/paired-transcriptomic/diverging_barplots/gsva_tukey_polya_stranded-DMG-Progressive-Deceased-tumor_descriptor_diverging_barplot.pdf"
[1] "/Users/chronia/CHOP/GitHub/pbta-tumor-evolution/analyses/gene-set-enrichment-analysis/plots/paired-transcriptomic/barplots/gsva_anova_polya_stranded-DMG-tumor_descriptor_barplot.pdf"
[1] "/Users/chronia/CHOP/GitHub/pbta-tumor-evolution/analyses/gene-set-enrichment-analysis/plots/paired-transcriptomic/dotplots/gsva_anova_polya_stranded-DMG-tumor_descriptor_dotplot.pdf"
[1] 6
[1] "/Users/chronia/CHOP/GitHub/pbta-tumor-evolution/analyses/gene-set-enrichment-analysis/plots/paired-transcriptomic/diverging_barplots/gsva_tukey_polya_stranded-DMG-Progressive-Diagnosis-tumor_descriptor_diverging_barplot.pdf"
[1] "/Users/chronia/CHOP/GitHub/pbta-tumor-evolution/analyses/gene-set-enrichment-analysis/plots/paired-transcriptomic/barplots/gsva_anova_polya_stranded-DMG-tumor_descriptor_barplot.pdf"
[1] "/Users/chronia/CHOP/GitHub/pbta-tumor-evolution/analyses/gene-set-enrichment-analysis/plots/paired-transcriptomic/dotplots/gsva_anova_polya_stranded-DMG-tumor_descriptor_dotplot.pdf"
[1] 2
[1] "stranded"
[1] 50
[1] "stranded"
$anova

$tukey

[1] "Diagnosis-Deceased"    "Diagnosis-Progressive" "Progressive-Deceased"  "Progressive-Diagnosis"
[1] 1
[1] "/Users/chronia/CHOP/GitHub/pbta-tumor-evolution/analyses/gene-set-enrichment-analysis/plots/paired-transcriptomic/diverging_barplots/gsva_tukey_stranded-DMG-Diagnosis-Deceased-tumor_descriptor_diverging_barplot.pdf"
[1] "/Users/chronia/CHOP/GitHub/pbta-tumor-evolution/analyses/gene-set-enrichment-analysis/plots/paired-transcriptomic/barplots/gsva_anova_stranded-DMG-tumor_descriptor_barplot.pdf"
[1] "/Users/chronia/CHOP/GitHub/pbta-tumor-evolution/analyses/gene-set-enrichment-analysis/plots/paired-transcriptomic/dotplots/gsva_anova_stranded-DMG-tumor_descriptor_dotplot.pdf"
[1] 2
[1] "/Users/chronia/CHOP/GitHub/pbta-tumor-evolution/analyses/gene-set-enrichment-analysis/plots/paired-transcriptomic/diverging_barplots/gsva_tukey_stranded-DMG-Diagnosis-Progressive-tumor_descriptor_diverging_barplot.pdf"
[1] "/Users/chronia/CHOP/GitHub/pbta-tumor-evolution/analyses/gene-set-enrichment-analysis/plots/paired-transcriptomic/barplots/gsva_anova_stranded-DMG-tumor_descriptor_barplot.pdf"
[1] "/Users/chronia/CHOP/GitHub/pbta-tumor-evolution/analyses/gene-set-enrichment-analysis/plots/paired-transcriptomic/dotplots/gsva_anova_stranded-DMG-tumor_descriptor_dotplot.pdf"
[1] 3
[1] "/Users/chronia/CHOP/GitHub/pbta-tumor-evolution/analyses/gene-set-enrichment-analysis/plots/paired-transcriptomic/diverging_barplots/gsva_tukey_stranded-DMG-Progressive-Deceased-tumor_descriptor_diverging_barplot.pdf"
[1] "/Users/chronia/CHOP/GitHub/pbta-tumor-evolution/analyses/gene-set-enrichment-analysis/plots/paired-transcriptomic/barplots/gsva_anova_stranded-DMG-tumor_descriptor_barplot.pdf"
[1] "/Users/chronia/CHOP/GitHub/pbta-tumor-evolution/analyses/gene-set-enrichment-analysis/plots/paired-transcriptomic/dotplots/gsva_anova_stranded-DMG-tumor_descriptor_dotplot.pdf"
[1] 4
[1] "/Users/chronia/CHOP/GitHub/pbta-tumor-evolution/analyses/gene-set-enrichment-analysis/plots/paired-transcriptomic/diverging_barplots/gsva_tukey_stranded-DMG-Progressive-Diagnosis-tumor_descriptor_diverging_barplot.pdf"
[1] "/Users/chronia/CHOP/GitHub/pbta-tumor-evolution/analyses/gene-set-enrichment-analysis/plots/paired-transcriptomic/barplots/gsva_anova_stranded-DMG-tumor_descriptor_barplot.pdf"
[1] "/Users/chronia/CHOP/GitHub/pbta-tumor-evolution/analyses/gene-set-enrichment-analysis/plots/paired-transcriptomic/dotplots/gsva_anova_stranded-DMG-tumor_descriptor_dotplot.pdf"
[1] 3
[1] "polya_stranded" "stranded"      
[1] 1
[1] "polya_stranded"
[1] 50
[1] "polya_stranded"
$anova

$tukey

 [1] "Deceased-Diagnosis"            "Deceased-Progressive"          "Deceased-Recurrence"           "Deceased-Second Malignancy"    "Diagnosis-Deceased"           
 [6] "Diagnosis-Progressive"         "Diagnosis-Recurrence"          "Diagnosis-Second Malignancy"   "Progressive-Deceased"          "Progressive-Diagnosis"        
[11] "Progressive-Recurrence"        "Progressive-Second Malignancy" "Recurrence-Deceased"           "Recurrence-Diagnosis"          "Recurrence-Progressive"       
[16] "Recurrence-Second Malignancy"  "Second Malignancy-Deceased"    "Second Malignancy-Diagnosis"   "Second Malignancy-Progressive" "Second Malignancy-Recurrence" 
[1] 1
[1] "/Users/chronia/CHOP/GitHub/pbta-tumor-evolution/analyses/gene-set-enrichment-analysis/plots/paired-transcriptomic/diverging_barplots/gsva_tukey_polya_stranded-HGG-Deceased-Diagnosis-tumor_descriptor_diverging_barplot.pdf"
[1] "/Users/chronia/CHOP/GitHub/pbta-tumor-evolution/analyses/gene-set-enrichment-analysis/plots/paired-transcriptomic/barplots/gsva_anova_polya_stranded-HGG-tumor_descriptor_barplot.pdf"
[1] "/Users/chronia/CHOP/GitHub/pbta-tumor-evolution/analyses/gene-set-enrichment-analysis/plots/paired-transcriptomic/dotplots/gsva_anova_polya_stranded-HGG-tumor_descriptor_dotplot.pdf"
[1] 2
[1] "/Users/chronia/CHOP/GitHub/pbta-tumor-evolution/analyses/gene-set-enrichment-analysis/plots/paired-transcriptomic/diverging_barplots/gsva_tukey_polya_stranded-HGG-Deceased-Progressive-tumor_descriptor_diverging_barplot.pdf"
[1] "/Users/chronia/CHOP/GitHub/pbta-tumor-evolution/analyses/gene-set-enrichment-analysis/plots/paired-transcriptomic/barplots/gsva_anova_polya_stranded-HGG-tumor_descriptor_barplot.pdf"
[1] "/Users/chronia/CHOP/GitHub/pbta-tumor-evolution/analyses/gene-set-enrichment-analysis/plots/paired-transcriptomic/dotplots/gsva_anova_polya_stranded-HGG-tumor_descriptor_dotplot.pdf"
[1] 3
[1] "/Users/chronia/CHOP/GitHub/pbta-tumor-evolution/analyses/gene-set-enrichment-analysis/plots/paired-transcriptomic/diverging_barplots/gsva_tukey_polya_stranded-HGG-Deceased-Recurrence-tumor_descriptor_diverging_barplot.pdf"
[1] "/Users/chronia/CHOP/GitHub/pbta-tumor-evolution/analyses/gene-set-enrichment-analysis/plots/paired-transcriptomic/barplots/gsva_anova_polya_stranded-HGG-tumor_descriptor_barplot.pdf"
[1] "/Users/chronia/CHOP/GitHub/pbta-tumor-evolution/analyses/gene-set-enrichment-analysis/plots/paired-transcriptomic/dotplots/gsva_anova_polya_stranded-HGG-tumor_descriptor_dotplot.pdf"
[1] 4
[1] "/Users/chronia/CHOP/GitHub/pbta-tumor-evolution/analyses/gene-set-enrichment-analysis/plots/paired-transcriptomic/diverging_barplots/gsva_tukey_polya_stranded-HGG-Deceased-Second Malignancy-tumor_descriptor_diverging_barplot.pdf"
[1] "/Users/chronia/CHOP/GitHub/pbta-tumor-evolution/analyses/gene-set-enrichment-analysis/plots/paired-transcriptomic/barplots/gsva_anova_polya_stranded-HGG-tumor_descriptor_barplot.pdf"
[1] "/Users/chronia/CHOP/GitHub/pbta-tumor-evolution/analyses/gene-set-enrichment-analysis/plots/paired-transcriptomic/dotplots/gsva_anova_polya_stranded-HGG-tumor_descriptor_dotplot.pdf"
[1] 5
[1] "/Users/chronia/CHOP/GitHub/pbta-tumor-evolution/analyses/gene-set-enrichment-analysis/plots/paired-transcriptomic/diverging_barplots/gsva_tukey_polya_stranded-HGG-Diagnosis-Deceased-tumor_descriptor_diverging_barplot.pdf"
[1] "/Users/chronia/CHOP/GitHub/pbta-tumor-evolution/analyses/gene-set-enrichment-analysis/plots/paired-transcriptomic/barplots/gsva_anova_polya_stranded-HGG-tumor_descriptor_barplot.pdf"
[1] "/Users/chronia/CHOP/GitHub/pbta-tumor-evolution/analyses/gene-set-enrichment-analysis/plots/paired-transcriptomic/dotplots/gsva_anova_polya_stranded-HGG-tumor_descriptor_dotplot.pdf"
[1] 6
[1] "/Users/chronia/CHOP/GitHub/pbta-tumor-evolution/analyses/gene-set-enrichment-analysis/plots/paired-transcriptomic/diverging_barplots/gsva_tukey_polya_stranded-HGG-Diagnosis-Progressive-tumor_descriptor_diverging_barplot.pdf"
[1] "/Users/chronia/CHOP/GitHub/pbta-tumor-evolution/analyses/gene-set-enrichment-analysis/plots/paired-transcriptomic/barplots/gsva_anova_polya_stranded-HGG-tumor_descriptor_barplot.pdf"
[1] "/Users/chronia/CHOP/GitHub/pbta-tumor-evolution/analyses/gene-set-enrichment-analysis/plots/paired-transcriptomic/dotplots/gsva_anova_polya_stranded-HGG-tumor_descriptor_dotplot.pdf"
[1] 7
[1] "/Users/chronia/CHOP/GitHub/pbta-tumor-evolution/analyses/gene-set-enrichment-analysis/plots/paired-transcriptomic/diverging_barplots/gsva_tukey_polya_stranded-HGG-Diagnosis-Recurrence-tumor_descriptor_diverging_barplot.pdf"
[1] "/Users/chronia/CHOP/GitHub/pbta-tumor-evolution/analyses/gene-set-enrichment-analysis/plots/paired-transcriptomic/barplots/gsva_anova_polya_stranded-HGG-tumor_descriptor_barplot.pdf"
[1] "/Users/chronia/CHOP/GitHub/pbta-tumor-evolution/analyses/gene-set-enrichment-analysis/plots/paired-transcriptomic/dotplots/gsva_anova_polya_stranded-HGG-tumor_descriptor_dotplot.pdf"
[1] 8
[1] "/Users/chronia/CHOP/GitHub/pbta-tumor-evolution/analyses/gene-set-enrichment-analysis/plots/paired-transcriptomic/diverging_barplots/gsva_tukey_polya_stranded-HGG-Diagnosis-Second Malignancy-tumor_descriptor_diverging_barplot.pdf"
[1] "/Users/chronia/CHOP/GitHub/pbta-tumor-evolution/analyses/gene-set-enrichment-analysis/plots/paired-transcriptomic/barplots/gsva_anova_polya_stranded-HGG-tumor_descriptor_barplot.pdf"
[1] "/Users/chronia/CHOP/GitHub/pbta-tumor-evolution/analyses/gene-set-enrichment-analysis/plots/paired-transcriptomic/dotplots/gsva_anova_polya_stranded-HGG-tumor_descriptor_dotplot.pdf"
[1] 9
[1] "/Users/chronia/CHOP/GitHub/pbta-tumor-evolution/analyses/gene-set-enrichment-analysis/plots/paired-transcriptomic/diverging_barplots/gsva_tukey_polya_stranded-HGG-Progressive-Deceased-tumor_descriptor_diverging_barplot.pdf"
[1] "/Users/chronia/CHOP/GitHub/pbta-tumor-evolution/analyses/gene-set-enrichment-analysis/plots/paired-transcriptomic/barplots/gsva_anova_polya_stranded-HGG-tumor_descriptor_barplot.pdf"
[1] "/Users/chronia/CHOP/GitHub/pbta-tumor-evolution/analyses/gene-set-enrichment-analysis/plots/paired-transcriptomic/dotplots/gsva_anova_polya_stranded-HGG-tumor_descriptor_dotplot.pdf"
[1] 10
[1] "/Users/chronia/CHOP/GitHub/pbta-tumor-evolution/analyses/gene-set-enrichment-analysis/plots/paired-transcriptomic/diverging_barplots/gsva_tukey_polya_stranded-HGG-Progressive-Diagnosis-tumor_descriptor_diverging_barplot.pdf"
[1] "/Users/chronia/CHOP/GitHub/pbta-tumor-evolution/analyses/gene-set-enrichment-analysis/plots/paired-transcriptomic/barplots/gsva_anova_polya_stranded-HGG-tumor_descriptor_barplot.pdf"
[1] "/Users/chronia/CHOP/GitHub/pbta-tumor-evolution/analyses/gene-set-enrichment-analysis/plots/paired-transcriptomic/dotplots/gsva_anova_polya_stranded-HGG-tumor_descriptor_dotplot.pdf"
[1] 11
[1] "/Users/chronia/CHOP/GitHub/pbta-tumor-evolution/analyses/gene-set-enrichment-analysis/plots/paired-transcriptomic/diverging_barplots/gsva_tukey_polya_stranded-HGG-Progressive-Recurrence-tumor_descriptor_diverging_barplot.pdf"
[1] "/Users/chronia/CHOP/GitHub/pbta-tumor-evolution/analyses/gene-set-enrichment-analysis/plots/paired-transcriptomic/barplots/gsva_anova_polya_stranded-HGG-tumor_descriptor_barplot.pdf"
[1] "/Users/chronia/CHOP/GitHub/pbta-tumor-evolution/analyses/gene-set-enrichment-analysis/plots/paired-transcriptomic/dotplots/gsva_anova_polya_stranded-HGG-tumor_descriptor_dotplot.pdf"
[1] 12
[1] "/Users/chronia/CHOP/GitHub/pbta-tumor-evolution/analyses/gene-set-enrichment-analysis/plots/paired-transcriptomic/diverging_barplots/gsva_tukey_polya_stranded-HGG-Progressive-Second Malignancy-tumor_descriptor_diverging_barplot.pdf"
[1] "/Users/chronia/CHOP/GitHub/pbta-tumor-evolution/analyses/gene-set-enrichment-analysis/plots/paired-transcriptomic/barplots/gsva_anova_polya_stranded-HGG-tumor_descriptor_barplot.pdf"
[1] "/Users/chronia/CHOP/GitHub/pbta-tumor-evolution/analyses/gene-set-enrichment-analysis/plots/paired-transcriptomic/dotplots/gsva_anova_polya_stranded-HGG-tumor_descriptor_dotplot.pdf"
[1] 13
[1] "/Users/chronia/CHOP/GitHub/pbta-tumor-evolution/analyses/gene-set-enrichment-analysis/plots/paired-transcriptomic/diverging_barplots/gsva_tukey_polya_stranded-HGG-Recurrence-Deceased-tumor_descriptor_diverging_barplot.pdf"
[1] "/Users/chronia/CHOP/GitHub/pbta-tumor-evolution/analyses/gene-set-enrichment-analysis/plots/paired-transcriptomic/barplots/gsva_anova_polya_stranded-HGG-tumor_descriptor_barplot.pdf"
[1] "/Users/chronia/CHOP/GitHub/pbta-tumor-evolution/analyses/gene-set-enrichment-analysis/plots/paired-transcriptomic/dotplots/gsva_anova_polya_stranded-HGG-tumor_descriptor_dotplot.pdf"
[1] 14
[1] "/Users/chronia/CHOP/GitHub/pbta-tumor-evolution/analyses/gene-set-enrichment-analysis/plots/paired-transcriptomic/diverging_barplots/gsva_tukey_polya_stranded-HGG-Recurrence-Diagnosis-tumor_descriptor_diverging_barplot.pdf"
[1] "/Users/chronia/CHOP/GitHub/pbta-tumor-evolution/analyses/gene-set-enrichment-analysis/plots/paired-transcriptomic/barplots/gsva_anova_polya_stranded-HGG-tumor_descriptor_barplot.pdf"
[1] "/Users/chronia/CHOP/GitHub/pbta-tumor-evolution/analyses/gene-set-enrichment-analysis/plots/paired-transcriptomic/dotplots/gsva_anova_polya_stranded-HGG-tumor_descriptor_dotplot.pdf"
[1] 15
[1] "/Users/chronia/CHOP/GitHub/pbta-tumor-evolution/analyses/gene-set-enrichment-analysis/plots/paired-transcriptomic/diverging_barplots/gsva_tukey_polya_stranded-HGG-Recurrence-Progressive-tumor_descriptor_diverging_barplot.pdf"
[1] "/Users/chronia/CHOP/GitHub/pbta-tumor-evolution/analyses/gene-set-enrichment-analysis/plots/paired-transcriptomic/barplots/gsva_anova_polya_stranded-HGG-tumor_descriptor_barplot.pdf"
[1] "/Users/chronia/CHOP/GitHub/pbta-tumor-evolution/analyses/gene-set-enrichment-analysis/plots/paired-transcriptomic/dotplots/gsva_anova_polya_stranded-HGG-tumor_descriptor_dotplot.pdf"
[1] 16
[1] "/Users/chronia/CHOP/GitHub/pbta-tumor-evolution/analyses/gene-set-enrichment-analysis/plots/paired-transcriptomic/diverging_barplots/gsva_tukey_polya_stranded-HGG-Recurrence-Second Malignancy-tumor_descriptor_diverging_barplot.pdf"
[1] "/Users/chronia/CHOP/GitHub/pbta-tumor-evolution/analyses/gene-set-enrichment-analysis/plots/paired-transcriptomic/barplots/gsva_anova_polya_stranded-HGG-tumor_descriptor_barplot.pdf"
[1] "/Users/chronia/CHOP/GitHub/pbta-tumor-evolution/analyses/gene-set-enrichment-analysis/plots/paired-transcriptomic/dotplots/gsva_anova_polya_stranded-HGG-tumor_descriptor_dotplot.pdf"
[1] 17
[1] "/Users/chronia/CHOP/GitHub/pbta-tumor-evolution/analyses/gene-set-enrichment-analysis/plots/paired-transcriptomic/diverging_barplots/gsva_tukey_polya_stranded-HGG-Second Malignancy-Deceased-tumor_descriptor_diverging_barplot.pdf"
[1] "/Users/chronia/CHOP/GitHub/pbta-tumor-evolution/analyses/gene-set-enrichment-analysis/plots/paired-transcriptomic/barplots/gsva_anova_polya_stranded-HGG-tumor_descriptor_barplot.pdf"
[1] "/Users/chronia/CHOP/GitHub/pbta-tumor-evolution/analyses/gene-set-enrichment-analysis/plots/paired-transcriptomic/dotplots/gsva_anova_polya_stranded-HGG-tumor_descriptor_dotplot.pdf"
[1] 18
[1] "/Users/chronia/CHOP/GitHub/pbta-tumor-evolution/analyses/gene-set-enrichment-analysis/plots/paired-transcriptomic/diverging_barplots/gsva_tukey_polya_stranded-HGG-Second Malignancy-Diagnosis-tumor_descriptor_diverging_barplot.pdf"
[1] "/Users/chronia/CHOP/GitHub/pbta-tumor-evolution/analyses/gene-set-enrichment-analysis/plots/paired-transcriptomic/barplots/gsva_anova_polya_stranded-HGG-tumor_descriptor_barplot.pdf"
[1] "/Users/chronia/CHOP/GitHub/pbta-tumor-evolution/analyses/gene-set-enrichment-analysis/plots/paired-transcriptomic/dotplots/gsva_anova_polya_stranded-HGG-tumor_descriptor_dotplot.pdf"
[1] 19
[1] "/Users/chronia/CHOP/GitHub/pbta-tumor-evolution/analyses/gene-set-enrichment-analysis/plots/paired-transcriptomic/diverging_barplots/gsva_tukey_polya_stranded-HGG-Second Malignancy-Progressive-tumor_descriptor_diverging_barplot.pdf"
[1] "/Users/chronia/CHOP/GitHub/pbta-tumor-evolution/analyses/gene-set-enrichment-analysis/plots/paired-transcriptomic/barplots/gsva_anova_polya_stranded-HGG-tumor_descriptor_barplot.pdf"
[1] "/Users/chronia/CHOP/GitHub/pbta-tumor-evolution/analyses/gene-set-enrichment-analysis/plots/paired-transcriptomic/dotplots/gsva_anova_polya_stranded-HGG-tumor_descriptor_dotplot.pdf"
[1] 20
[1] "/Users/chronia/CHOP/GitHub/pbta-tumor-evolution/analyses/gene-set-enrichment-analysis/plots/paired-transcriptomic/diverging_barplots/gsva_tukey_polya_stranded-HGG-Second Malignancy-Recurrence-tumor_descriptor_diverging_barplot.pdf"
[1] "/Users/chronia/CHOP/GitHub/pbta-tumor-evolution/analyses/gene-set-enrichment-analysis/plots/paired-transcriptomic/barplots/gsva_anova_polya_stranded-HGG-tumor_descriptor_barplot.pdf"
[1] "/Users/chronia/CHOP/GitHub/pbta-tumor-evolution/analyses/gene-set-enrichment-analysis/plots/paired-transcriptomic/dotplots/gsva_anova_polya_stranded-HGG-tumor_descriptor_dotplot.pdf"
[1] 2
[1] "stranded"
[1] 50
[1] "stranded"
$anova

$tukey

 [1] "Deceased-Diagnosis"     "Deceased-Progressive"   "Deceased-Recurrence"    "Diagnosis-Deceased"     "Diagnosis-Progressive"  "Diagnosis-Recurrence"  
 [7] "Progressive-Deceased"   "Progressive-Diagnosis"  "Progressive-Recurrence" "Recurrence-Deceased"    "Recurrence-Diagnosis"   "Recurrence-Progressive"
[1] 1
[1] "/Users/chronia/CHOP/GitHub/pbta-tumor-evolution/analyses/gene-set-enrichment-analysis/plots/paired-transcriptomic/diverging_barplots/gsva_tukey_stranded-HGG-Deceased-Diagnosis-tumor_descriptor_diverging_barplot.pdf"
[1] "/Users/chronia/CHOP/GitHub/pbta-tumor-evolution/analyses/gene-set-enrichment-analysis/plots/paired-transcriptomic/barplots/gsva_anova_stranded-HGG-tumor_descriptor_barplot.pdf"
[1] "/Users/chronia/CHOP/GitHub/pbta-tumor-evolution/analyses/gene-set-enrichment-analysis/plots/paired-transcriptomic/dotplots/gsva_anova_stranded-HGG-tumor_descriptor_dotplot.pdf"
[1] 2
[1] "/Users/chronia/CHOP/GitHub/pbta-tumor-evolution/analyses/gene-set-enrichment-analysis/plots/paired-transcriptomic/diverging_barplots/gsva_tukey_stranded-HGG-Deceased-Progressive-tumor_descriptor_diverging_barplot.pdf"
[1] "/Users/chronia/CHOP/GitHub/pbta-tumor-evolution/analyses/gene-set-enrichment-analysis/plots/paired-transcriptomic/barplots/gsva_anova_stranded-HGG-tumor_descriptor_barplot.pdf"
[1] "/Users/chronia/CHOP/GitHub/pbta-tumor-evolution/analyses/gene-set-enrichment-analysis/plots/paired-transcriptomic/dotplots/gsva_anova_stranded-HGG-tumor_descriptor_dotplot.pdf"
[1] 3
[1] "/Users/chronia/CHOP/GitHub/pbta-tumor-evolution/analyses/gene-set-enrichment-analysis/plots/paired-transcriptomic/diverging_barplots/gsva_tukey_stranded-HGG-Deceased-Recurrence-tumor_descriptor_diverging_barplot.pdf"
[1] "/Users/chronia/CHOP/GitHub/pbta-tumor-evolution/analyses/gene-set-enrichment-analysis/plots/paired-transcriptomic/barplots/gsva_anova_stranded-HGG-tumor_descriptor_barplot.pdf"
[1] "/Users/chronia/CHOP/GitHub/pbta-tumor-evolution/analyses/gene-set-enrichment-analysis/plots/paired-transcriptomic/dotplots/gsva_anova_stranded-HGG-tumor_descriptor_dotplot.pdf"
[1] 4
[1] "/Users/chronia/CHOP/GitHub/pbta-tumor-evolution/analyses/gene-set-enrichment-analysis/plots/paired-transcriptomic/diverging_barplots/gsva_tukey_stranded-HGG-Diagnosis-Deceased-tumor_descriptor_diverging_barplot.pdf"
[1] "/Users/chronia/CHOP/GitHub/pbta-tumor-evolution/analyses/gene-set-enrichment-analysis/plots/paired-transcriptomic/barplots/gsva_anova_stranded-HGG-tumor_descriptor_barplot.pdf"
[1] "/Users/chronia/CHOP/GitHub/pbta-tumor-evolution/analyses/gene-set-enrichment-analysis/plots/paired-transcriptomic/dotplots/gsva_anova_stranded-HGG-tumor_descriptor_dotplot.pdf"
[1] 5
[1] "/Users/chronia/CHOP/GitHub/pbta-tumor-evolution/analyses/gene-set-enrichment-analysis/plots/paired-transcriptomic/diverging_barplots/gsva_tukey_stranded-HGG-Diagnosis-Progressive-tumor_descriptor_diverging_barplot.pdf"
[1] "/Users/chronia/CHOP/GitHub/pbta-tumor-evolution/analyses/gene-set-enrichment-analysis/plots/paired-transcriptomic/barplots/gsva_anova_stranded-HGG-tumor_descriptor_barplot.pdf"
[1] "/Users/chronia/CHOP/GitHub/pbta-tumor-evolution/analyses/gene-set-enrichment-analysis/plots/paired-transcriptomic/dotplots/gsva_anova_stranded-HGG-tumor_descriptor_dotplot.pdf"
[1] 6
[1] "/Users/chronia/CHOP/GitHub/pbta-tumor-evolution/analyses/gene-set-enrichment-analysis/plots/paired-transcriptomic/diverging_barplots/gsva_tukey_stranded-HGG-Diagnosis-Recurrence-tumor_descriptor_diverging_barplot.pdf"
[1] "/Users/chronia/CHOP/GitHub/pbta-tumor-evolution/analyses/gene-set-enrichment-analysis/plots/paired-transcriptomic/barplots/gsva_anova_stranded-HGG-tumor_descriptor_barplot.pdf"
[1] "/Users/chronia/CHOP/GitHub/pbta-tumor-evolution/analyses/gene-set-enrichment-analysis/plots/paired-transcriptomic/dotplots/gsva_anova_stranded-HGG-tumor_descriptor_dotplot.pdf"
[1] 7
[1] "/Users/chronia/CHOP/GitHub/pbta-tumor-evolution/analyses/gene-set-enrichment-analysis/plots/paired-transcriptomic/diverging_barplots/gsva_tukey_stranded-HGG-Progressive-Deceased-tumor_descriptor_diverging_barplot.pdf"
[1] "/Users/chronia/CHOP/GitHub/pbta-tumor-evolution/analyses/gene-set-enrichment-analysis/plots/paired-transcriptomic/barplots/gsva_anova_stranded-HGG-tumor_descriptor_barplot.pdf"
[1] "/Users/chronia/CHOP/GitHub/pbta-tumor-evolution/analyses/gene-set-enrichment-analysis/plots/paired-transcriptomic/dotplots/gsva_anova_stranded-HGG-tumor_descriptor_dotplot.pdf"
[1] 8
[1] "/Users/chronia/CHOP/GitHub/pbta-tumor-evolution/analyses/gene-set-enrichment-analysis/plots/paired-transcriptomic/diverging_barplots/gsva_tukey_stranded-HGG-Progressive-Diagnosis-tumor_descriptor_diverging_barplot.pdf"
[1] "/Users/chronia/CHOP/GitHub/pbta-tumor-evolution/analyses/gene-set-enrichment-analysis/plots/paired-transcriptomic/barplots/gsva_anova_stranded-HGG-tumor_descriptor_barplot.pdf"
[1] "/Users/chronia/CHOP/GitHub/pbta-tumor-evolution/analyses/gene-set-enrichment-analysis/plots/paired-transcriptomic/dotplots/gsva_anova_stranded-HGG-tumor_descriptor_dotplot.pdf"
[1] 9
[1] "/Users/chronia/CHOP/GitHub/pbta-tumor-evolution/analyses/gene-set-enrichment-analysis/plots/paired-transcriptomic/diverging_barplots/gsva_tukey_stranded-HGG-Progressive-Recurrence-tumor_descriptor_diverging_barplot.pdf"
[1] "/Users/chronia/CHOP/GitHub/pbta-tumor-evolution/analyses/gene-set-enrichment-analysis/plots/paired-transcriptomic/barplots/gsva_anova_stranded-HGG-tumor_descriptor_barplot.pdf"
[1] "/Users/chronia/CHOP/GitHub/pbta-tumor-evolution/analyses/gene-set-enrichment-analysis/plots/paired-transcriptomic/dotplots/gsva_anova_stranded-HGG-tumor_descriptor_dotplot.pdf"
[1] 10
[1] "/Users/chronia/CHOP/GitHub/pbta-tumor-evolution/analyses/gene-set-enrichment-analysis/plots/paired-transcriptomic/diverging_barplots/gsva_tukey_stranded-HGG-Recurrence-Deceased-tumor_descriptor_diverging_barplot.pdf"
[1] "/Users/chronia/CHOP/GitHub/pbta-tumor-evolution/analyses/gene-set-enrichment-analysis/plots/paired-transcriptomic/barplots/gsva_anova_stranded-HGG-tumor_descriptor_barplot.pdf"
[1] "/Users/chronia/CHOP/GitHub/pbta-tumor-evolution/analyses/gene-set-enrichment-analysis/plots/paired-transcriptomic/dotplots/gsva_anova_stranded-HGG-tumor_descriptor_dotplot.pdf"
[1] 11
[1] "/Users/chronia/CHOP/GitHub/pbta-tumor-evolution/analyses/gene-set-enrichment-analysis/plots/paired-transcriptomic/diverging_barplots/gsva_tukey_stranded-HGG-Recurrence-Diagnosis-tumor_descriptor_diverging_barplot.pdf"
[1] "/Users/chronia/CHOP/GitHub/pbta-tumor-evolution/analyses/gene-set-enrichment-analysis/plots/paired-transcriptomic/barplots/gsva_anova_stranded-HGG-tumor_descriptor_barplot.pdf"
[1] "/Users/chronia/CHOP/GitHub/pbta-tumor-evolution/analyses/gene-set-enrichment-analysis/plots/paired-transcriptomic/dotplots/gsva_anova_stranded-HGG-tumor_descriptor_dotplot.pdf"
[1] 12
[1] "/Users/chronia/CHOP/GitHub/pbta-tumor-evolution/analyses/gene-set-enrichment-analysis/plots/paired-transcriptomic/diverging_barplots/gsva_tukey_stranded-HGG-Recurrence-Progressive-tumor_descriptor_diverging_barplot.pdf"
[1] "/Users/chronia/CHOP/GitHub/pbta-tumor-evolution/analyses/gene-set-enrichment-analysis/plots/paired-transcriptomic/barplots/gsva_anova_stranded-HGG-tumor_descriptor_barplot.pdf"
[1] "/Users/chronia/CHOP/GitHub/pbta-tumor-evolution/analyses/gene-set-enrichment-analysis/plots/paired-transcriptomic/dotplots/gsva_anova_stranded-HGG-tumor_descriptor_dotplot.pdf"
[1] 4
[1] "polya_stranded" "stranded"      
[1] 1
[1] "polya_stranded"
[1] 50
[1] "polya_stranded"
$anova

$tukey

[1] "Diagnosis-Progressive"  "Diagnosis-Recurrence"   "Progressive-Diagnosis"  "Progressive-Recurrence" "Recurrence-Diagnosis"   "Recurrence-Progressive"
[1] 1
[1] "/Users/chronia/CHOP/GitHub/pbta-tumor-evolution/analyses/gene-set-enrichment-analysis/plots/paired-transcriptomic/diverging_barplots/gsva_tukey_polya_stranded-LGG-Diagnosis-Progressive-tumor_descriptor_diverging_barplot.pdf"
[1] "/Users/chronia/CHOP/GitHub/pbta-tumor-evolution/analyses/gene-set-enrichment-analysis/plots/paired-transcriptomic/barplots/gsva_anova_polya_stranded-LGG-tumor_descriptor_barplot.pdf"
[1] "/Users/chronia/CHOP/GitHub/pbta-tumor-evolution/analyses/gene-set-enrichment-analysis/plots/paired-transcriptomic/dotplots/gsva_anova_polya_stranded-LGG-tumor_descriptor_dotplot.pdf"
[1] 2
[1] "/Users/chronia/CHOP/GitHub/pbta-tumor-evolution/analyses/gene-set-enrichment-analysis/plots/paired-transcriptomic/diverging_barplots/gsva_tukey_polya_stranded-LGG-Diagnosis-Recurrence-tumor_descriptor_diverging_barplot.pdf"
[1] "/Users/chronia/CHOP/GitHub/pbta-tumor-evolution/analyses/gene-set-enrichment-analysis/plots/paired-transcriptomic/barplots/gsva_anova_polya_stranded-LGG-tumor_descriptor_barplot.pdf"
[1] "/Users/chronia/CHOP/GitHub/pbta-tumor-evolution/analyses/gene-set-enrichment-analysis/plots/paired-transcriptomic/dotplots/gsva_anova_polya_stranded-LGG-tumor_descriptor_dotplot.pdf"
[1] 3
[1] "/Users/chronia/CHOP/GitHub/pbta-tumor-evolution/analyses/gene-set-enrichment-analysis/plots/paired-transcriptomic/diverging_barplots/gsva_tukey_polya_stranded-LGG-Progressive-Diagnosis-tumor_descriptor_diverging_barplot.pdf"
[1] "/Users/chronia/CHOP/GitHub/pbta-tumor-evolution/analyses/gene-set-enrichment-analysis/plots/paired-transcriptomic/barplots/gsva_anova_polya_stranded-LGG-tumor_descriptor_barplot.pdf"
[1] "/Users/chronia/CHOP/GitHub/pbta-tumor-evolution/analyses/gene-set-enrichment-analysis/plots/paired-transcriptomic/dotplots/gsva_anova_polya_stranded-LGG-tumor_descriptor_dotplot.pdf"
[1] 4
[1] "/Users/chronia/CHOP/GitHub/pbta-tumor-evolution/analyses/gene-set-enrichment-analysis/plots/paired-transcriptomic/diverging_barplots/gsva_tukey_polya_stranded-LGG-Progressive-Recurrence-tumor_descriptor_diverging_barplot.pdf"
[1] "/Users/chronia/CHOP/GitHub/pbta-tumor-evolution/analyses/gene-set-enrichment-analysis/plots/paired-transcriptomic/barplots/gsva_anova_polya_stranded-LGG-tumor_descriptor_barplot.pdf"
[1] "/Users/chronia/CHOP/GitHub/pbta-tumor-evolution/analyses/gene-set-enrichment-analysis/plots/paired-transcriptomic/dotplots/gsva_anova_polya_stranded-LGG-tumor_descriptor_dotplot.pdf"
[1] 5
[1] "/Users/chronia/CHOP/GitHub/pbta-tumor-evolution/analyses/gene-set-enrichment-analysis/plots/paired-transcriptomic/diverging_barplots/gsva_tukey_polya_stranded-LGG-Recurrence-Diagnosis-tumor_descriptor_diverging_barplot.pdf"
[1] "/Users/chronia/CHOP/GitHub/pbta-tumor-evolution/analyses/gene-set-enrichment-analysis/plots/paired-transcriptomic/barplots/gsva_anova_polya_stranded-LGG-tumor_descriptor_barplot.pdf"
[1] "/Users/chronia/CHOP/GitHub/pbta-tumor-evolution/analyses/gene-set-enrichment-analysis/plots/paired-transcriptomic/dotplots/gsva_anova_polya_stranded-LGG-tumor_descriptor_dotplot.pdf"
[1] 6
[1] "/Users/chronia/CHOP/GitHub/pbta-tumor-evolution/analyses/gene-set-enrichment-analysis/plots/paired-transcriptomic/diverging_barplots/gsva_tukey_polya_stranded-LGG-Recurrence-Progressive-tumor_descriptor_diverging_barplot.pdf"
[1] "/Users/chronia/CHOP/GitHub/pbta-tumor-evolution/analyses/gene-set-enrichment-analysis/plots/paired-transcriptomic/barplots/gsva_anova_polya_stranded-LGG-tumor_descriptor_barplot.pdf"
[1] "/Users/chronia/CHOP/GitHub/pbta-tumor-evolution/analyses/gene-set-enrichment-analysis/plots/paired-transcriptomic/dotplots/gsva_anova_polya_stranded-LGG-tumor_descriptor_dotplot.pdf"
[1] 2
[1] "stranded"
[1] 50
[1] "stranded"
$anova

$tukey

 [1] "Diagnosis-Progressive"         "Diagnosis-Recurrence"          "Diagnosis-Second Malignancy"   "Progressive-Diagnosis"         "Progressive-Second Malignancy"
 [6] "Recurrence-Diagnosis"          "Recurrence-Progressive"        "Recurrence-Second Malignancy"  "Second Malignancy-Diagnosis"   "Second Malignancy-Progressive"
[11] "Second Malignancy-Recurrence" 
[1] 1
[1] "/Users/chronia/CHOP/GitHub/pbta-tumor-evolution/analyses/gene-set-enrichment-analysis/plots/paired-transcriptomic/diverging_barplots/gsva_tukey_stranded-LGG-Diagnosis-Progressive-tumor_descriptor_diverging_barplot.pdf"
[1] "/Users/chronia/CHOP/GitHub/pbta-tumor-evolution/analyses/gene-set-enrichment-analysis/plots/paired-transcriptomic/barplots/gsva_anova_stranded-LGG-tumor_descriptor_barplot.pdf"
[1] "/Users/chronia/CHOP/GitHub/pbta-tumor-evolution/analyses/gene-set-enrichment-analysis/plots/paired-transcriptomic/dotplots/gsva_anova_stranded-LGG-tumor_descriptor_dotplot.pdf"
[1] 2
[1] "/Users/chronia/CHOP/GitHub/pbta-tumor-evolution/analyses/gene-set-enrichment-analysis/plots/paired-transcriptomic/diverging_barplots/gsva_tukey_stranded-LGG-Diagnosis-Recurrence-tumor_descriptor_diverging_barplot.pdf"
[1] "/Users/chronia/CHOP/GitHub/pbta-tumor-evolution/analyses/gene-set-enrichment-analysis/plots/paired-transcriptomic/barplots/gsva_anova_stranded-LGG-tumor_descriptor_barplot.pdf"
[1] "/Users/chronia/CHOP/GitHub/pbta-tumor-evolution/analyses/gene-set-enrichment-analysis/plots/paired-transcriptomic/dotplots/gsva_anova_stranded-LGG-tumor_descriptor_dotplot.pdf"
[1] 3
[1] "/Users/chronia/CHOP/GitHub/pbta-tumor-evolution/analyses/gene-set-enrichment-analysis/plots/paired-transcriptomic/diverging_barplots/gsva_tukey_stranded-LGG-Diagnosis-Second Malignancy-tumor_descriptor_diverging_barplot.pdf"
[1] "/Users/chronia/CHOP/GitHub/pbta-tumor-evolution/analyses/gene-set-enrichment-analysis/plots/paired-transcriptomic/barplots/gsva_anova_stranded-LGG-tumor_descriptor_barplot.pdf"
[1] "/Users/chronia/CHOP/GitHub/pbta-tumor-evolution/analyses/gene-set-enrichment-analysis/plots/paired-transcriptomic/dotplots/gsva_anova_stranded-LGG-tumor_descriptor_dotplot.pdf"
[1] 4
[1] "/Users/chronia/CHOP/GitHub/pbta-tumor-evolution/analyses/gene-set-enrichment-analysis/plots/paired-transcriptomic/diverging_barplots/gsva_tukey_stranded-LGG-Progressive-Diagnosis-tumor_descriptor_diverging_barplot.pdf"
[1] "/Users/chronia/CHOP/GitHub/pbta-tumor-evolution/analyses/gene-set-enrichment-analysis/plots/paired-transcriptomic/barplots/gsva_anova_stranded-LGG-tumor_descriptor_barplot.pdf"
[1] "/Users/chronia/CHOP/GitHub/pbta-tumor-evolution/analyses/gene-set-enrichment-analysis/plots/paired-transcriptomic/dotplots/gsva_anova_stranded-LGG-tumor_descriptor_dotplot.pdf"
[1] 5
[1] "/Users/chronia/CHOP/GitHub/pbta-tumor-evolution/analyses/gene-set-enrichment-analysis/plots/paired-transcriptomic/diverging_barplots/gsva_tukey_stranded-LGG-Progressive-Second Malignancy-tumor_descriptor_diverging_barplot.pdf"
[1] "/Users/chronia/CHOP/GitHub/pbta-tumor-evolution/analyses/gene-set-enrichment-analysis/plots/paired-transcriptomic/barplots/gsva_anova_stranded-LGG-tumor_descriptor_barplot.pdf"
[1] "/Users/chronia/CHOP/GitHub/pbta-tumor-evolution/analyses/gene-set-enrichment-analysis/plots/paired-transcriptomic/dotplots/gsva_anova_stranded-LGG-tumor_descriptor_dotplot.pdf"
[1] 6
[1] "/Users/chronia/CHOP/GitHub/pbta-tumor-evolution/analyses/gene-set-enrichment-analysis/plots/paired-transcriptomic/diverging_barplots/gsva_tukey_stranded-LGG-Recurrence-Diagnosis-tumor_descriptor_diverging_barplot.pdf"
[1] "/Users/chronia/CHOP/GitHub/pbta-tumor-evolution/analyses/gene-set-enrichment-analysis/plots/paired-transcriptomic/barplots/gsva_anova_stranded-LGG-tumor_descriptor_barplot.pdf"
[1] "/Users/chronia/CHOP/GitHub/pbta-tumor-evolution/analyses/gene-set-enrichment-analysis/plots/paired-transcriptomic/dotplots/gsva_anova_stranded-LGG-tumor_descriptor_dotplot.pdf"
[1] 7
[1] "/Users/chronia/CHOP/GitHub/pbta-tumor-evolution/analyses/gene-set-enrichment-analysis/plots/paired-transcriptomic/diverging_barplots/gsva_tukey_stranded-LGG-Recurrence-Progressive-tumor_descriptor_diverging_barplot.pdf"
[1] "/Users/chronia/CHOP/GitHub/pbta-tumor-evolution/analyses/gene-set-enrichment-analysis/plots/paired-transcriptomic/barplots/gsva_anova_stranded-LGG-tumor_descriptor_barplot.pdf"
[1] "/Users/chronia/CHOP/GitHub/pbta-tumor-evolution/analyses/gene-set-enrichment-analysis/plots/paired-transcriptomic/dotplots/gsva_anova_stranded-LGG-tumor_descriptor_dotplot.pdf"
[1] 8
[1] "/Users/chronia/CHOP/GitHub/pbta-tumor-evolution/analyses/gene-set-enrichment-analysis/plots/paired-transcriptomic/diverging_barplots/gsva_tukey_stranded-LGG-Recurrence-Second Malignancy-tumor_descriptor_diverging_barplot.pdf"
[1] "/Users/chronia/CHOP/GitHub/pbta-tumor-evolution/analyses/gene-set-enrichment-analysis/plots/paired-transcriptomic/barplots/gsva_anova_stranded-LGG-tumor_descriptor_barplot.pdf"
[1] "/Users/chronia/CHOP/GitHub/pbta-tumor-evolution/analyses/gene-set-enrichment-analysis/plots/paired-transcriptomic/dotplots/gsva_anova_stranded-LGG-tumor_descriptor_dotplot.pdf"
[1] 9
[1] "/Users/chronia/CHOP/GitHub/pbta-tumor-evolution/analyses/gene-set-enrichment-analysis/plots/paired-transcriptomic/diverging_barplots/gsva_tukey_stranded-LGG-Second Malignancy-Diagnosis-tumor_descriptor_diverging_barplot.pdf"
[1] "/Users/chronia/CHOP/GitHub/pbta-tumor-evolution/analyses/gene-set-enrichment-analysis/plots/paired-transcriptomic/barplots/gsva_anova_stranded-LGG-tumor_descriptor_barplot.pdf"
[1] "/Users/chronia/CHOP/GitHub/pbta-tumor-evolution/analyses/gene-set-enrichment-analysis/plots/paired-transcriptomic/dotplots/gsva_anova_stranded-LGG-tumor_descriptor_dotplot.pdf"
[1] 10
[1] "/Users/chronia/CHOP/GitHub/pbta-tumor-evolution/analyses/gene-set-enrichment-analysis/plots/paired-transcriptomic/diverging_barplots/gsva_tukey_stranded-LGG-Second Malignancy-Progressive-tumor_descriptor_diverging_barplot.pdf"
[1] "/Users/chronia/CHOP/GitHub/pbta-tumor-evolution/analyses/gene-set-enrichment-analysis/plots/paired-transcriptomic/barplots/gsva_anova_stranded-LGG-tumor_descriptor_barplot.pdf"
[1] "/Users/chronia/CHOP/GitHub/pbta-tumor-evolution/analyses/gene-set-enrichment-analysis/plots/paired-transcriptomic/dotplots/gsva_anova_stranded-LGG-tumor_descriptor_dotplot.pdf"
[1] 11
[1] "/Users/chronia/CHOP/GitHub/pbta-tumor-evolution/analyses/gene-set-enrichment-analysis/plots/paired-transcriptomic/diverging_barplots/gsva_tukey_stranded-LGG-Second Malignancy-Recurrence-tumor_descriptor_diverging_barplot.pdf"
[1] "/Users/chronia/CHOP/GitHub/pbta-tumor-evolution/analyses/gene-set-enrichment-analysis/plots/paired-transcriptomic/barplots/gsva_anova_stranded-LGG-tumor_descriptor_barplot.pdf"
[1] "/Users/chronia/CHOP/GitHub/pbta-tumor-evolution/analyses/gene-set-enrichment-analysis/plots/paired-transcriptomic/dotplots/gsva_anova_stranded-LGG-tumor_descriptor_dotplot.pdf"

LS0tCnRpdGxlOiAiR1NWQSBTY29yZSBNb2RlbGluZyIKYXV0aG9yOiAiQW50b25pYSBDaHJvbmkgPGNocm9uaWFAY2hvcC5lZHU+IGZvciBEM0IiCmRhdGU6ICIyMDIzIgpvdXRwdXQ6CiAgaHRtbF9ub3RlYm9vazoKICAgIHRvYzogVFJVRQogICAgdG9jX2Zsb2F0OiBUUlVFCi0tLQoKIyMjIFB1cnBvc2UKClRoZSBwdXJwb3NlIG9mIHRoaXMgYW5hbHlzaXMgaXMgdG8gYXNzZXNzIHNpZ25pZmljYW50IGRpZmZlcmVuY2VzIGluIEdTVkEgc2NvcmVzIGZvciBlYWNoIGhhbGxtYXJrIHBhdGh3YXlzLiBVc2luZyBBTk9WQSBhbmQgc3Vic2VxdWVudCBUdWtleSB0ZXN0cywgd2UgYXNrOgoKKyBGb3IgZWFjaCBwYXRod2F5LCBhcmUgR1NWQSBzY29yZXMgc2lnbmlmaWNhbnRseSBkaWZmZXJlbnQgYWNyb3NzIGB0dW1vcl9kZXNjcmlwdG9yYD8gSWYgc28sIHdoaWNoIHRpbWVwb2ludHMgYXJlIHNpZ25pZmljYW50bHkgZGlmZmVyZW50PwoKV2UgcGVyZm9ybSB0aGlzIHVzaW5nIGJvdGggR1NWQSBzY29yZXMgY2FsY3VsYXRlZCBmcm9tIFJOQS1zZXEgbGlicmFyaWVzLiBDb2RlIGlzIGFsc28gZmxleGlibGUgZW5vdWdoIHRvIHRlc3QgYSBkaWZmZXJlbnQgdmFyaWFibGUgYmVzaWRlcyBgdHVtb3JfZGVzY3JpcHRvcmAsIGV0Yy4KCgpQbG90cyBhcmUgaW5zcGlyZWQgZnJvbSBoZXJlOiBodHRwczovL3l1bGFiLXNtdS50b3AvYmlvbWVkaWNhbC1rbm93bGVkZ2UtbWluaW5nLWJvb2svZW5yaWNocGxvdC5odG1sCgojIyMgVXNhZ2UKClRvIHJ1biB0aGlzIGZyb20gdGhlIGNvbW1hbmQgbGluZSwgdXNlOgpgYGAKUnNjcmlwdCAtZSAicm1hcmtkb3duOjpyZW5kZXIoJzAxLW1vZGVsLWdzZWEtdHJhbnNjcmlwdG9taWMtcGFpcnMuUm1kJywgY2xlYW4gPSBUUlVFKSIgCmBgYApfVGhpcyBhc3N1bWVzIHlvdSBhcmUgaW4gdGhlIHRvcCBkaXJlY3Rvcnkgb2YgdGhlIHJlcG9zaXRvcnkuXwoKIyBTZXR1cAoKTG9hZCBsaWJyYXJpZXMgYW5kIGRlZmluZSBjZXJ0YWluIGNvbnN0YW50czoKCmBgYHtyIGxvYWQtbGlicmFyeX0Kc3VwcHJlc3NQYWNrYWdlU3RhcnR1cE1lc3NhZ2VzKHsKICBsaWJyYXJ5KHRpZHl2ZXJzZSkKICBsaWJyYXJ5KGJyb29tKQogIGxpYnJhcnkoZ2dwdWJyKQogIGxpYnJhcnkoZ2dyZXBlbCkKfSkKYGBgCgoKIyMgRGlyZWN0b3JpZXMgYW5kIEZpbGUgSW5wdXRzL091dHB1dHMKCmBgYHtyIHNldC1kaXItYW5kLWZpbGUtbmFtZXN9CiMgRGV0ZWN0IHRoZSAiLmdpdCIgZm9sZGVyLiBUaGlzIHdpbGwgYmUgaW4gdGhlIHByb2plY3Qgcm9vdCBkaXJlY3RvcnkuCiMgVXNlIHRoaXMgYXMgdGhlIHJvb3QgZGlyZWN0b3J5IHRvIGVuc3VyZSBwcm9wZXIgc291cmNpbmcgb2YgZnVuY3Rpb25zCiMgbm8gbWF0dGVyIHdoZXJlIHRoaXMgaXMgY2FsbGVkIGZyb20uCnJvb3RfZGlyIDwtIHJwcm9qcm9vdDo6ZmluZF9yb290KHJwcm9qcm9vdDo6aGFzX2RpcigiLmdpdCIpKQphbmFseXNpc19kaXIgPC0gZmlsZS5wYXRoKHJvb3RfZGlyLCAiYW5hbHlzZXMiLCAiZ2VuZS1zZXQtZW5yaWNobWVudC1hbmFseXNpcyIpIAppbnB1dF9kaXIgPC0gZmlsZS5wYXRoKGFuYWx5c2lzX2RpciwgImlucHV0IikKZmlsZXNfZGlyIDwtIGZpbGUucGF0aChyb290X2RpciwgImFuYWx5c2VzIiwgInNhbXBsZS1kaXN0cmlidXRpb24tYW5hbHlzaXMiLCAicmVzdWx0cyIpCgojIElucHV0IGZpbGVzCiMjIE1ldGFkYXRhIGZpbGUgKGhpc3RvbG9naWVzL2NsaW5pY2FsIGRhdGEpCm1ldGFkYXRhX2ZpbGUgPC0gZmlsZS5wYXRoKGZpbGVzX2RpciwgInBidGEudHN2IikgIyBmaWxlIGZyb20gYWRkLXNhbXBsZS1kaXN0cmlidXRpb24gbW9kdWxlCm1hdGNoZWRfdHJhbnNjcmlwdG9taWNfZmlsZSA8LSBmaWxlLnBhdGgoZmlsZXNfZGlyLCAidHJhbnNjcmlwdG9taWNfYXNzYXlzX21hdGNoZWRfdGltZV9wb2ludHMudHN2IikgIyBmaWxlIGZyb20gYWRkLXNhbXBsZS1kaXN0cmlidXRpb24gbW9kdWxlCgojIyBHU0VBIHNjb3JlcwpzY29yZXNfZmlsZSA8LSBmaWxlLnBhdGgoaW5wdXRfZGlyLCAiZ3N2YV9zY29yZXMudHN2IikKCiMgRmlsZSBwYXRoIHRvIHBsb3RzIGRpcmVjdG9yeQpwbG90c19kaXIgPC0KICBmaWxlLnBhdGgoYW5hbHlzaXNfZGlyLCAicGxvdHMiLCAicGFpcmVkLXRyYW5zY3JpcHRvbWljIikKaWYgKCFkaXIuZXhpc3RzKHBsb3RzX2RpcikpIHsKICBkaXIuY3JlYXRlKHBsb3RzX2RpcikKfQoKYmFycGxvdHNfZGlyIDwtCiAgZmlsZS5wYXRoKHBsb3RzX2RpciwgImJhcnBsb3RzIikKaWYgKCFkaXIuZXhpc3RzKGJhcnBsb3RzX2RpcikpIHsKICBkaXIuY3JlYXRlKGJhcnBsb3RzX2RpcikKfQoKZG90cGxvdHNfZGlyIDwtCiAgZmlsZS5wYXRoKHBsb3RzX2RpciwgImRvdHBsb3RzIikKaWYgKCFkaXIuZXhpc3RzKGRvdHBsb3RzX2RpcikpIHsKICBkaXIuY3JlYXRlKGRvdHBsb3RzX2RpcikKfQoKZGl2ZXJnaW5nX2JhcnBsb3RzX2RpciA8LQogIGZpbGUucGF0aChwbG90c19kaXIsICJkaXZlcmdpbmdfYmFycGxvdHMiKQppZiAoIWRpci5leGlzdHMoZGl2ZXJnaW5nX2JhcnBsb3RzX2RpcikpIHsKICBkaXIuY3JlYXRlKGRpdmVyZ2luZ19iYXJwbG90c19kaXIpCn0KCgojIEZpbGUgcGF0aCB0byByZXN1bHRzIGRpcmVjdG9yeQpyZXN1bHRzX2RpciA8LQogIGZpbGUucGF0aChhbmFseXNpc19kaXIsICJyZXN1bHRzIiwgInBhaXJlZC10cmFuc2NyaXB0b21pYyIpCmlmICghZGlyLmV4aXN0cyhyZXN1bHRzX2RpcikpIHsKICBkaXIuY3JlYXRlKHJlc3VsdHNfZGlyKQp9CgoKIyBTaWduaWZpY2FuY2UgdGVzdGluZyB1bml2ZXJzYWwgdGhyZXNob2xkClNJR05JRklDQU5DRV9USFJFU0hPTEQgPC0gMC4wMQoKIyBUaGlzIHNjcmlwdCBjb250YWlucyBmdW5jdGlvbnMgdXNlZCB0byBtb2RlbGluZyBHU1ZBIHNjb3Jlcwpzb3VyY2UocGFzdGUwKGFuYWx5c2lzX2RpciwgIi91dGlsL2hhbGxtYXJrX21vZGVscy5SIikpCnNvdXJjZShwYXN0ZTAoYW5hbHlzaXNfZGlyLCAiL3V0aWwvZnVuY3Rpb24tY3JlYXRlLXBsb3RzLlIiKSkKc291cmNlKHBhc3RlMChyb290X2RpciwgIi9maWd1cmVzL3NjcmlwdHMvdGhlbWUuUiIpKQpgYGAKCiMjIFJlYWQgaW4gZGF0YSBhbmQgcHJvY2VzcwoKYGBge3IgcmVhZC1pbnB1dC1maWxlc30KIyMjIyMjIyMgTG9hZCBpbnB1dCBmaWxlcwpwYnRhIDwtIHJlYWRyOjpyZWFkX3RzdihtZXRhZGF0YV9maWxlLCBndWVzc19tYXggPSAxMDAwMDApICU+JSAKICBmaWx0ZXIoZXhwZXJpbWVudGFsX3N0cmF0ZWd5ID09ICJSTkEtU2VxIikgJT4lIAogIGZpbHRlcighaXMubmEoUk5BX2xpYnJhcnkpKQoKIyBSZWFkIGluIG1hdGNoZWRfdHJhbnNjcmlwdG9taWNfZmlsZSBhbmQgZ2V0IHRoZSBsaXN0IG9mIHBhdGllbnRzIAojIHdpdGggbWF0Y2hlZCB0aW1lIHBvaW50cyBmb3IgdGhlIHRyYW5zY3JpcHRvbWljIGFzc2F5cwpwYXRpZW50X2xpc3QgPC0gcmVhZHI6OnJlYWRfdHN2KG1hdGNoZWRfdHJhbnNjcmlwdG9taWNfZmlsZSwgZ3Vlc3NfbWF4ID0gMTAwMDAwLCBzaG93X2NvbF90eXBlcyA9IEZBTFNFKSAlPiUKICBzdWJzZXQoc2VsZWN0ID0gYygiS2lkc19GaXJzdF9QYXJ0aWNpcGFudF9JRCIsICJkZXNjcmlwdG9ycyIpKQoKI3BhdGllbnRfbGlzdCA8LSByZWFkcjo6cmVhZF90c3YobWF0Y2hlZF90cmFuc2NyaXB0b21pY19maWxlLCBndWVzc19tYXggPSAxMDAwMDAsIHNob3dfY29sX3R5cGVzID0gRkFMU0UpICU+JQojICBzdWJzZXQoc2VsZWN0ID0gYygiS2lkc19GaXJzdF9QYXJ0aWNpcGFudF9JRCIsICJkZXNjcmlwdG9ycyIpKQoKIyBIb3cgbWFueSBwYXRpZW50cyB3aXRoIHBhaXJlZCBhc3NheXM/CnByaW50KGxlbmd0aCh1bmlxdWUocGF0aWVudF9saXN0JEtpZHNfRmlyc3RfUGFydGljaXBhbnRfSUQpKSkKCiMgQWRkIG1ldGFkYXRhIGZyb20gcGJ0YSB0byBwYXRpZW50IGxpc3QKbWV0YWRhdGEgPC0gcGF0aWVudF9saXN0ICU+JSAKICBsZWZ0X2pvaW4ocGJ0YSwgYnkgPSAiS2lkc19GaXJzdF9QYXJ0aWNpcGFudF9JRCIpCgpwcmludCh0YWJsZShtZXRhZGF0YSRSTkFfbGlicmFyeSkpCgoKIyBSZWFkIHNjb3JlcyBmaWxlCnNjb3Jlc19maWxlIDwtIHJlYWRyOjpyZWFkX3RzdihzY29yZXNfZmlsZSkgCgojIFZlY3RvciB0byBvcmRlciB0aW1lcG9pbnRzCnRpbWVwb2ludHMgPC0gYygiRGlhZ25vc2lzIiwgIlByb2dyZXNzaXZlIiwgIlJlY3VycmVuY2UiLCAiRGVjZWFzZWQiLCAiU2Vjb25kIE1hbGlnbmFuY3kiLCAiVW5hdmFpbGFibGUiKQoKIyMjIE1lcmdlIGhpc3RvbG9neSBtZXRhZGF0YSB3aXRoIGVhY2ggc2V0IG9mIGdzZWEgc2NvcmVzCm1ldGFkYXRhX3dpdGhfZ3N2YSA8LSBtZXRhZGF0YSAlPiUKICBpbm5lcl9qb2luKHNjb3Jlc19maWxlLCBieSA9ICJLaWRzX0ZpcnN0X0Jpb3NwZWNpbWVuX0lEIikgJT4lIAogIG11dGF0ZShkYXRhX3R5cGUgPSBjYXNlX3doZW4oZ3JlcGwoImV4b21lX2NhcHR1cmV8cG9seS1BfHBvbHktQSBzdHJhbmRlZCIsIFJOQV9saWJyYXJ5KSB+ICJwb2x5YV9zdHJhbmRlZCIsICNtZXJnZWRfUk5BX2xpYnJhcnkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRSVUUgfiBSTkFfbGlicmFyeSksCiAgICAgICAgIyBic19ybmFfbGlicmFyeV9pZCA9IHBhc3RlKEtpZHNfRmlyc3RfQmlvc3BlY2ltZW5fSUQsIFJOQV9saWJyYXJ5X3N1bSwgc2VwID0gIl8iKSwKICAgICAgICAgdHVtb3JfZGVzY3JpcHRvciA9IGZhY3Rvcih0dW1vcl9kZXNjcmlwdG9yKSwKICAgICAgICAgdHVtb3JfZGVzY3JpcHRvciA9IGZjdF9yZWxldmVsKHR1bW9yX2Rlc2NyaXB0b3IsIHRpbWVwb2ludHMpKSAlPiUgCiAgZmlsdGVyKCFSTkFfbGlicmFyeSA9PSAiZXhvbWVfY2FwdHVyZSIsCiAgICAgICAgICFjZ0dGQUMgPT0gIk90aGVyIikgJT4lIAogIGFycmFuZ2UodHVtb3JfZGVzY3JpcHRvcikKCiAgICAgIAojIEhvdyBtYW55IHBhdGllbnRzIHdpdGggcGFpcmVkIGFzc2F5cz8KcHJpbnQobGVuZ3RoKHVuaXF1ZShtZXRhZGF0YV93aXRoX2dzdmEkS2lkc19GaXJzdF9QYXJ0aWNpcGFudF9JRCkpKQoKIyBIb3cgbWFueSBiaW9zcGVjaW1lbnMgcGVyIGBSTkFfbGlicmFyeWA/CmJzX3VuaXF1ZSA8LSBtZXRhZGF0YV93aXRoX2dzdmEgJT4lCiAgZ3JvdXBfYnkoS2lkc19GaXJzdF9CaW9zcGVjaW1lbl9JRCwgZGF0YV90eXBlKSAlPiUKICBzZWxlY3QoS2lkc19GaXJzdF9CaW9zcGVjaW1lbl9JRCwgZGF0YV90eXBlKSAlPiUgCiAgZGlzdGluY3QoS2lkc19GaXJzdF9CaW9zcGVjaW1lbl9JRCwgLmtlZXBfYWxsID0gVFJVRSkKCnByaW50KHRhYmxlKGJzX3VuaXF1ZSRkYXRhX3R5cGUpKQpwcmludCh0YWJsZShtZXRhZGF0YV93aXRoX2dzdmEkZGF0YV90eXBlKSkKCmBgYAoKCiMjIyBBTk9WQSBhbmQgVHVrZXkgYW5hbHlzaXMgb2YgR1NWQSBzY29yZXMKCkhlcmUgd2UgcGVyZm9ybSBhIHNlcmllcyBvZiBBTk9WQXMsIGZvciBwb2x5QSBhbmQgc3RyYW5kZWQgbGlicmFyaWVzIHNlcGFyYXRlbHksIHRvIGRldGVybWluZSB3aGV0aGVyIG1lYW4gR1NWQSBzY29yZXMgZm9yIGEgZ2l2ZW4gZ3JvdXBpbmcgYXJlIHNpZ25pZmljYW50bHkgZGlmZmVyZW50IGFjcm9zcyBoYWxsbWFya3MgKHBhdGh3YXlzKS4gVGhlIGdpdmVuIGdyb3VwaW5ncyBleGFtaW5lZCBoZXJlIGFyZSBgY2FuY2VyX2dyb3VwYCBhbmQgYHR1bW9yX2Rlc2NyaXB0b3JgLiAKSW4gb3RoZXIgd29yZHMsIHdlIHBlcmZvcm0gYW4gQU5PVkEgKGFuZCBhc3NvY2lhdGVkIHBvc3Rob2MgVHVrZXkgdGVzdCkgZm9yIGVhY2ggaGFsbG1hcmsgYXMsIGBoYWxsbWFyayB+IGdyb3VwaW5nYC4gVXNlcnMgY2FuIHNwZWNpZnkgdGhlIGdyb3VwaW5nIHZhcmlhYmxlLgoKCmBgYHtyLCBhb3YtcGVyZm9ybS1wbG90LVJOQS1saWJyYXJ5LXN1bSwgZmlnLndpZHRoID0gMTIsIGZpZy5oZWlnaHQgPSAxMCwgZmlnLmZ1bGx3aWR0aCA9IFRSVUUsIGVjaG8gPSBUUlVFfQpjZ0dGQUNfbGlzdCA8LSBtZXRhZGF0YV93aXRoX2dzdmEgJT4lIHB1bGwoY2dHRkFDKSAlPiUgdW5pcXVlKCkKY2dHRkFDX2xpc3QgPC0gc29ydChjZ0dGQUNfbGlzdCwgZGVjcmVhc2luZyA9IEZBTFNFKQpwcmludChjZ0dGQUNfbGlzdCkKICAKZm9yKHggaW4gMTpsZW5ndGgoY2dHRkFDX2xpc3QpKXsKICBwcmludCh4KQogIAogIGRhdGFfZGYgPC0gbWV0YWRhdGFfd2l0aF9nc3ZhICU+JQogICAgZHBseXI6OmZpbHRlcihjZ0dGQUMgPT0gY2dHRkFDX2xpc3RbeF0pCiAgCiAgIyMjIyMjIyMgRmluZCBvdXQgdW5pcXVlIFJOQSBsaWJyYXJ5IHR5cGVzCiAgcm5hX2xpYnJhcnlfbGlzdCA8LSBkYXRhX2RmICU+JSBwdWxsKGRhdGFfdHlwZSkgJT4lIHVuaXF1ZSgpCiAgcm5hX2xpYnJhcnlfbGlzdCA8LSBzb3J0KHJuYV9saWJyYXJ5X2xpc3QsIGRlY3JlYXNpbmcgPSBGQUxTRSkKICBwcmludChybmFfbGlicmFyeV9saXN0KQoKZm9yKGkgaW4gMTpsZW5ndGgocm5hX2xpYnJhcnlfbGlzdCkpewogIHByaW50KGkpCiAgCiAgcm5hX2xpYnJhcnkgPSBybmFfbGlicmFyeV9saXN0W2ldCiAgcHJpbnQocm5hX2xpYnJhcnkpCiAgCiAgIyBmaW5kIG91dCB0aGUgbnVtYmVyIG9mIGB0dW1vcl9kZXNjcmlwdG9yYCB3aXRoIHRoaXMgUk5BIGxpYnJhcnkKICB0dW1vcl9kZXNjcmlwdG9yX24gPC0gZGF0YV9kZiAlPiUKICAgIGRwbHlyOjpmaWx0ZXIoZGF0YV90eXBlID09IHJuYV9saWJyYXJ5KSAlPiUKICAgIGRwbHlyOjpwdWxsKHR1bW9yX2Rlc2NyaXB0b3IpICU+JSAKICAgIHVuaXF1ZSgpICU+JSBsZW5ndGgoKQogIAogICAgCiAgIyBhbm92YSBjYW4gb25seSBiZSBydW4gb24gZmFjdG9ycyB3aXRoID49MiBsZXZlbHMsIHNvIHRvIGF2b2lkIGVycm9yLCB3ZSBnaXZlIGEgaWYgc3RhdGVtZW50CiAgaWYodHVtb3JfZGVzY3JpcHRvcl9uPj0yKXsKICAgIAogICAgdHVtb3JfZGVzY3JpcHRvcl9tb2RlbF9yZXN1bHRzIDwtIGdzdmFfYW5vdmFfdHVrZXkoZGF0YV9kZiwgdHVtb3JfZGVzY3JpcHRvciwgcm5hX2xpYnJhcnksIFNJR05JRklDQU5DRV9USFJFU0hPTEQpIAogIAogICAgIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwogICAgIyBwcmludCByZXN1bHRzIGZvciB2aWV3aW5nCiAgICBwcmludChybmFfbGlicmFyeSkKICAgIHByaW50KGhlYWQodHVtb3JfZGVzY3JpcHRvcl9tb2RlbF9yZXN1bHRzKSkKICAgIAogICAgCiAgICBhbm92YV9mbmFtZSA8LSBwYXN0ZTAocmVzdWx0c19kaXIsICIvIiwgImdzdmFfYW5vdmFfIiwgcm5hX2xpYnJhcnlfbGlzdFtpXSwgIl8iLCBjZ0dGQUNfbGlzdFt4XSwgIl90dW1vcl9kZXNjcmlwdG9yLnRzdiIpCiAgICByZWFkcjo6d3JpdGVfdHN2KHR1bW9yX2Rlc2NyaXB0b3JfbW9kZWxfcmVzdWx0c1tbImFub3ZhIl1dLCBmaWxlID0gYW5vdmFfZm5hbWUpCiAgICAgCiAgICB0dWtleV9mbmFtZSA8LSBwYXN0ZTAocmVzdWx0c19kaXIsICIvIiwgImdzdmFfdHVrZXlfIiwgcm5hX2xpYnJhcnlfbGlzdFtpXSwgIl8iLCBjZ0dGQUNfbGlzdFt4XSwgIl90dW1vcl9kZXNjcmlwdG9yLnRzdiIpCiAgICByZWFkcjo6d3JpdGVfdHN2KHR1bW9yX2Rlc2NyaXB0b3JfbW9kZWxfcmVzdWx0c1tbInR1a2V5Il1dLCBmaWxlID0gdHVrZXlfZm5hbWUpCgogICAgIyMjIyMjIyMjIyMjIyMjIyBwbG90IHJlc3VsdHMgIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKICAgICMjIyMjIyB0dWtleSAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCiAgIAogICAgdGRfbW9kZWxzIDwtIHVuaXF1ZShhcy5jaGFyYWN0ZXIodHVtb3JfZGVzY3JpcHRvcl9tb2RlbF9yZXN1bHRzW1sidHVrZXkiXV0kY29tcGFyaXNvbikpCiAgICB0ZF9tb2RlbHMgPC0gc29ydCh0ZF9tb2RlbHMsIGRlY3JlYXNpbmcgPSBGQUxTRSkKICAgIHByaW50KHRkX21vZGVscykKICAKICAgIGZvcih0IGluIHNlcV9hbG9uZyh0ZF9tb2RlbHMpKXsKICAgICAgcHJpbnQodCkKICAgICAgCiAgICAgICNTZXQgc2VlZAogICAgICBzZXQuc2VlZCgyMDIzKQogICAgCiAgICAgICMgUmUtb3JkZXIgYmFycwogICAgICBkZiA8LSB0dW1vcl9kZXNjcmlwdG9yX21vZGVsX3Jlc3VsdHNbWyJ0dWtleSJdXSAlPiUKICAgICAgICBmaWx0ZXIoY29tcGFyaXNvbiA9PSB0ZF9tb2RlbHNbdF0pICMlPiUgCiAgICAgICAgI211dGF0ZShoYWxsbWFya19uYW1lX2lkID0gcGFzdGUwKGhhbGxtYXJrX25hbWUsIDE6NDkpKQoKICAgICAgIyBUaGUgc2lnbmlmaWNhbnRseSBkaWZmZXJlbnRpYWxseSBwYXRod2F5cyBhcmUgdGhlIG9uZXMgZm91bmQgaW4gdGhlIHVwcGVyLWxlZnQgYW5kIHVwcGVyLXJpZ2h0IGNvcm5lcnMuCiAgICAgICMgQWRkIGEgY29sdW1uIHRvIHRoZSBkYXRhIGZyYW1lIHRvIHNwZWNpZnkgaWYgdGhleSBhcmUgVVAtIG9yIERPV04tIHJlZ3VsYXRlZCAocGF0aHdheV9zY29yZV9kaWZmZXJlbmNlIHJlc3BlY3RpdmVseSBwb3NpdGl2ZSBvciBuZWdhdGl2ZQogICAgICBkZiRwYXRoX2RpZmYgPC0gIk5vdCBzaWduaWZpY2FudCIKICAgICAgcF92YWx1ZSA8LSBkZiR0dWtleV9wX3ZhbHVlCiAgICAgIHNpZ25pZl9wX3ZhbHVlIDwtIDAuMDUKICAgICAgIyBpZiBwYXRod2F5X3Njb3JlX2RpZmZlcmVuY2UgPiAwICAKICAgICAgZGYkcGF0aF9kaWZmW2RmJHBhdGh3YXlfc2NvcmVfZGlmZmVyZW5jZSA+IDAgJiBwX3ZhbHVlIDwgc2lnbmlmX3BfdmFsdWVdIDwtICJVcCIKICAgICAgZGYkcGF0aF9kaWZmW2RmJHBhdGh3YXlfc2NvcmVfZGlmZmVyZW5jZSA+IDAgJiBwX3ZhbHVlID4gc2lnbmlmX3BfdmFsdWVdIDwtICJOb3Qgc2lnbmlmaWNhbnQiCgogICAgICAjIGlmIHBhdGh3YXlfc2NvcmVfZGlmZmVyZW5jZSA8IDAgCiAgICAgIGRmJHBhdGhfZGlmZltkZiRwYXRod2F5X3Njb3JlX2RpZmZlcmVuY2UgPCAwICYgcF92YWx1ZSA8IHNpZ25pZl9wX3ZhbHVlXSA8LSAiRG93biIKICAgICAgZGYkcGF0aF9kaWZmW2RmJHBhdGh3YXlfc2NvcmVfZGlmZmVyZW5jZSA8IDAgJiBwX3ZhbHVlID4gc2lnbmlmX3BfdmFsdWVdIDwtICJOb3Qgc2lnbmlmaWNhbnQiCiAgICAgICMgQ3JlYXRlIGxhYmVscwogICAgICAjIGRmJGxhYmVscyA8LSB3aXRoKGRmLCBpZmVsc2UocF92YWx1ZSA8IDAuMDUsIGhhbGxtYXJrX25hbWVfaWQsICIiKSkKICAgICAgCiAgICAgIGRmJGhhbGxtYXJrX25hbWUgPC0gZmFjdG9yKGRmJGhhbGxtYXJrX25hbWUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxldmVscyA9IHJldih1bmlxdWUoZGYkaGFsbG1hcmtfbmFtZVtvcmRlcihkZiR0dWtleV9wX3ZhbHVlLCBkZWNyZWFzaW5nID0gVFJVRSldKSkpICMgRmFjdG9yIGxldmVscyBpbiBpbmNyZWFzaW5nIG9yZGVyCiAgICAgIAogICAgICAKICAgICAgIyMjIyMjIGRpdmVyZ2luZyBiYXJwbG90cyAjIyMjIyMjIyMjIwogICAgICBuYW1lIDwtIHBhc3RlMChkaXZlcmdpbmdfYmFycGxvdHNfZGlyLCAiLyIsICJnc3ZhX3R1a2V5XyIsIHJuYV9saWJyYXJ5X2xpc3RbaV0sICItIiwgY2dHRkFDX2xpc3RbeF0sICItIiwgdGRfbW9kZWxzW3RdLCAiLXR1bW9yX2Rlc2NyaXB0b3JfZGl2ZXJnaW5nX2JhcnBsb3QucGRmIikKICAgICAgcHJpbnQobmFtZSkKICAgICAgcCA8LSBjcmVhdGVfZGl2ZXJnaW5nX2JhcnBsb3QoZGYgPSBkZiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeV92YWx1ZSA9IGRmJHBhdGh3YXlfc2NvcmVfZGlmZmVyZW5jZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcm5hX2xpYnJhcnkgPSBybmFfbGlicmFyeV9saXN0W2ldLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0ZF9tb2RlbF9pZCA9IHRkX21vZGVsc1t0XSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2dHRkFDID0gY2dHRkFDX2xpc3RbeF0pCiAgICAgIHBkZihmaWxlID0gbmFtZSwgd2lkdGggPSAxMiwgaGVpZ2h0ID0gMTApCiAgICAgIHByaW50KHApCiAgICAgIGRldi5vZmYoKQogICAgCiAgICAKICAgICMjIyMjIyBhbm92YSAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCiAgICAjIyMjIyMgYmFycGxvdHMgIyMjIyMjIyMjIyMgICAgCiAgICBuYW1lIDwtIHBhc3RlMChiYXJwbG90c19kaXIsICIvIiwgImdzdmFfYW5vdmFfIiwgcm5hX2xpYnJhcnlfbGlzdFtpXSwgIi0iLCBjZ0dGQUNfbGlzdFt4XSwgIi0iLCAidHVtb3JfZGVzY3JpcHRvcl9iYXJwbG90LnBkZiIpCiAgICBwcmludChuYW1lKQogIAogICAgIyBSZS1vcmRlciBiYXJzCiAgICBkZiA8LSB0dW1vcl9kZXNjcmlwdG9yX21vZGVsX3Jlc3VsdHNbWyJhbm92YSJdXQogICAgZGYkaGFsbG1hcmtfbmFtZSA8LSBmYWN0b3IoZGYkaGFsbG1hcmtfbmFtZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxldmVscyA9IHJldih1bmlxdWUoZGYkaGFsbG1hcmtfbmFtZVtvcmRlcihkZiRhbm92YV9wX3ZhbHVlLCBkZWNyZWFzaW5nID0gVFJVRSldKSkpICMgRmFjdG9yIGxldmVscyBpbiBpbmNyZWFzaW5nIG9yZGVyCiAgICBwIDwtIGNyZWF0ZV9iYXJwbG90KGRmID0gZGYsCiAgICAgICAgICAgICAgICAgICAgICAgIHlfdmFsdWUgPSBkZiRhbm92YV9wX3ZhbHVlLAogICAgICAgICAgICAgICAgICAgICAgICB0aXRsZV92YWx1ZSA9ICJhbm92YV9wX3ZhbHVlIiwgCiAgICAgICAgICAgICAgICAgICAgICAgIHJuYV9saWJyYXJ5ID0gcm5hX2xpYnJhcnlfbGlzdFtpXSwKICAgICAgICAgICAgICAgICAgICAgICAgdGRfbW9kZWxfaWQgPSBOVUxMLAogICAgICAgICAgICAgICAgICAgICAgICBjZ0dGQUMgPSBjZ0dGQUNfbGlzdFt4XSkKICAgIHBkZihmaWxlID0gbmFtZSwgd2lkdGggPSAxMiwgaGVpZ2h0ID0gMTApCiAgICBwcmludChwKQogICAgZGV2Lm9mZigpCiAgICAgIAogICAgIyMjIyMjIGRvdCBwbG90cyAjIyMjIyMjIyMjIwogICAgZG90cGxvdF9uYW1lIDwtIHBhc3RlMChkb3RwbG90c19kaXIsICIvIiwgImdzdmFfYW5vdmFfIiwgcm5hX2xpYnJhcnlfbGlzdFtpXSwgIi0iLCBjZ0dGQUNfbGlzdFt4XSwgIi0iLCAidHVtb3JfZGVzY3JpcHRvcl9kb3RwbG90LnBkZiIpCiAgICBwcmludChkb3RwbG90X25hbWUpCiAgICBwIDwtIGNyZWF0ZV9kb3RwbG90KGRmID0gdHVtb3JfZGVzY3JpcHRvcl9tb2RlbF9yZXN1bHRzW1siYW5vdmEiXV0sCiAgICAgICAgICAgICAgICAgICAgICAgIHhfdmFsdWUgPSB0dW1vcl9kZXNjcmlwdG9yX21vZGVsX3Jlc3VsdHNbWyJhbm92YSJdXSRoYWxsbWFya19uYW1lLAogICAgICAgICAgICAgICAgICAgICAgICB5X3ZhbHVlID0gdHVtb3JfZGVzY3JpcHRvcl9tb2RlbF9yZXN1bHRzW1siYW5vdmEiXV0kYW5vdmFfcF92YWx1ZSwKICAgICAgICAgICAgICAgICAgICAgICAgdGl0bGVfdmFsdWUgPSAiYW5vdmFfcF92YWx1ZSIsCiAgICAgICAgICAgICAgICAgICAgICAgIHJuYV9saWJyYXJ5ID0gcm5hX2xpYnJhcnlfbGlzdFtpXSwKICAgICAgICAgICAgICAgICAgICAgICAgdGRfbW9kZWxfaWQgPSBOVUxMLAogICAgICAgICAgICAgICAgICAgICAgICBjZ0dGQUMgPSBjZ0dGQUNfbGlzdFt4XSkKICAgIHBkZihmaWxlID0gZG90cGxvdF9uYW1lLCB3aWR0aCA9IDEyLCBoZWlnaHQgPSAxMCkKICAgIHByaW50KHApCiAgICBkZXYub2ZmKCkKICB9CiAgfQp9Cn0KYGBgCgoKYGBge3J9CnNlc3Npb25JbmZvKCkKYGBgCgo=